Fail to build octave with GCC 4.1.2

View: New views
3 Messages — Rating Filter:   Alert me  

Fail to build octave with GCC 4.1.2

by Bo Yang-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,
   I am a new comer to Octave, after some google search, I didn't find the simple error for my compiling errors.
My environment:
GCC 4.1.2

And the errors are:

/usr/bin/g++  -I. -I.. -I../liboctave -I../src -I../libcruft/misc  -DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wold-style-cast -g -O2 -rdynamic \
        -L..  -fPIC  -o octave \
        main.o  \
        -L../liboctave -L../libcruft -L../src -Wl,-rpath -Wl,/usr/lib/octave-3.0.5 \
        -loctinterp -loctave  -lcruft   \
             \
            \
         -lreadline  -lncurses -ldl -lz -lm  -L/usr/lib/gcc/i386-redhat-linux/4.1.2 -L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. -lz -lgfortranbegin -lgfortran -lm
../libcruft/libcruft.so: undefined reference to `do_lio'
../libcruft/libcruft.so: undefined reference to `z_sqrt'
../src/liboctinterp.so: undefined reference to `e_wsfe'
../libcruft/libcruft.so: undefined reference to `z_abs'
../libcruft/libcruft.so: undefined reference to `i_indx'
../libcruft/libcruft.so: undefined reference to `s_wsfi'
../libcruft/libcruft.so: undefined reference to `s_stop'
../libcruft/libcruft.so: undefined reference to `e_wsfi'
../libcruft/libcruft.so: undefined reference to `s_wsle'
../libcruft/libcruft.so: undefined reference to `s_cmp'
../libcruft/libcruft.so: undefined reference to `s_copy'
../libcruft/libcruft.so: undefined reference to `s_cat'
../libcruft/libcruft.so: undefined reference to `e_wsle'
../src/liboctinterp.so: undefined reference to `do_fio'
../src/liboctinterp.so: undefined reference to `s_wsfe'


Could you please help me on this? Thanks!

Regards!
Bo

_______________________________________________
Help-octave mailing list
Help-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

Re: Fail to build octave with GCC 4.1.2

by RickG :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

The same thing happened to me in Ubuntu 9.04.  The problem is that the library
libg2c, which is needed by GNU Fortran 77 code, was not loaded or linked.

I loaded it with the Synaptic Package Manager, where the thing to load was
called libg2c0.   this then installed a link called  libg2c.so.0 to the loaded
library in /usr/lib

Then the problem of getting it to link.  I got it to work, but somebody should
install an option in the configure process for GNU Fortran that deals with this.

what I did was edit the Makeconf.in file where it had

FLIBS = @FLIBS@

to be

FLIBS = /usr/lib/libg2c.so.0 @FLIBS@

it would have been nice if     -lg2c    would have worked, but it didn't.
There is probably a better way to do this.   then    make clean     and  ./configure  and   make again.

After this fix, it got past building libcruft,  then bombed on trying to make (or remake) some documentation.
I don't know if that was caused by the    make clean     .

Anyway, after loading a few more things to deal with that, everything completed and it passed   make test
(as much as it is supposed to, given the current state of things).

RickG

Bo Yang-2 wrote:
Hi,
   I am a new comer to Octave, after some google search, I didn't find the
simple error for my compiling errors.
My environment:
GCC 4.1.2

And the errors are:

/usr/bin/g++  -I. -I.. -I../liboctave -I../src -I../libcruft/misc
-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wold-style-cast -g -O2
-rdynamic \
        -L..  -fPIC  -o octave \
        main.o  \
        -L../liboctave -L../libcruft -L../src -Wl,-rpath
-Wl,/usr/lib/octave-3.0.5 \
        -loctinterp -loctave  -lcruft   \
             \
            \
         -lreadline  -lncurses -ldl -lz -lm
-L/usr/lib/gcc/i386-redhat-linux/4.1.2
-L/usr/lib/gcc/i386-redhat-linux/4.1.2/../../.. -lz -lgfortranbegin
-lgfortran -lm
../libcruft/libcruft.so: undefined reference to `do_lio'
../libcruft/libcruft.so: undefined reference to `z_sqrt'
../src/liboctinterp.so: undefined reference to `e_wsfe'
../libcruft/libcruft.so: undefined reference to `z_abs'
../libcruft/libcruft.so: undefined reference to `i_indx'
../libcruft/libcruft.so: undefined reference to `s_wsfi'
../libcruft/libcruft.so: undefined reference to `s_stop'
../libcruft/libcruft.so: undefined reference to `e_wsfi'
../libcruft/libcruft.so: undefined reference to `s_wsle'
../libcruft/libcruft.so: undefined reference to `s_cmp'
../libcruft/libcruft.so: undefined reference to `s_copy'
../libcruft/libcruft.so: undefined reference to `s_cat'
../libcruft/libcruft.so: undefined reference to `e_wsle'
../src/liboctinterp.so: undefined reference to `do_fio'
../src/liboctinterp.so: undefined reference to `s_wsfe'


Could you please help me on this? Thanks!

Regards!
Bo

_______________________________________________
Help-octave mailing list
Help-octave@octave.org
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

Re: Fail to build octave with GCC 4.1.2

by Thomas Weber-8 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Jul 02, 2009 at 11:00:45PM -0700, RickG wrote:
>
> The same thing happened to me in Ubuntu 9.04.  The problem is that the
> library libg2c, which is needed by GNU Fortran 77 code, was not loaded
> or linked.

Why don't you use gfortran instead of g77?


> Then the problem of getting it to link.  I got it to work, but
> somebody should install an option in the configure process for GNU
> Fortran that deals with this.

If you are using gfortran, then you shouldn't need g77 and libg2c.

        Thomas
_______________________________________________
Help-octave mailing list
Help-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave