Octave Make failure

Coleman Kane cokane at cokane.org
Mon May 5 16:01:10 EDT 2008


On Mon, 2008-05-05 at 15:52 -0400, Labitt, Bruce wrote:
> On Mon, 2008-05-05 at 15:27 -0400, Labitt, Bruce wrote:
> > OK.  Here is the previous line(s) that cause grief.
> > 
> > 
> > gcc -c  -I. -I.. -I../liboctave -I../src -I../libcruft/misc
> > -DHAVE_CONFIG_H  -Wall -W -Wshadow -g -O2 main.c -o main.o
> > 
> > g++  -I. -I.. -I../liboctave -I../src -I../libcruft/misc
> > -DHAVE_CONFIG_H  -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/local/lib/octave-3.0.1 \
> >         -loctinterp -loctave  -lcruft   \
> >              \
> >             \
> >         -lfftw3 -lreadline  -lncurses -ldl -lz -lm
> > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6
> > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64
> > -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../.. -L/lib/../lib64
> > -L/usr/lib/../lib64 -lz -lfrtbegin -lg2c -lm
> > ../src/liboctinterp.so: undefined reference to
> > `__cxa_get_exception_ptr'
> > ../src/liboctinterp.so: undefined reference to
> > `std::basic_istream<char, std::char_traits<char> >::ignore()'
> > collect2: ld returned 1 exit status
> > make[2]: *** [octave] Error 1
> > make[2]: Leaving directory
> > `/home/BDLabitt/octavesource/octave-3.0.1/src'
> > make[1]: *** [src] Error 2
> > make[1]: Leaving directory
> `/home/BDLabitt/octavesource/octave-3.0.1'
> > make: *** [all] Error 2
> > 
> > Thanks for everyone's help so far...
> > 
> > Regards,
> > Bruce
> 
> >From the above line, it looks like you are performing the link
> against
> the GCC 3.4.6 libraries. I seem to remember you mentioned using 4.1.2
> or
> so earlier... this might be one of the problems.
> 
> What is the output of?:
> g++ -v
> 
> -- 
> Coleman Kane
> [Labitt, Bruce] 
> 
> Could that be some "compatability" stuff that I have installed
> (recognizes old c/c++) ?

No such thing.

> 
> $ g++ -v
> 
> Using built-in specs.
> Target: x86_64-redhat-linux
> Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
> --infodir=/usr/share/info --enable-shared --enable-threads=posix
> --enable-checking=release --with-system-zlib --enable-__cxa_atexit
> --disable-libunwind-exceptions --enable-libgcj-multifile
> --enable-languages=c,c++,objc,obj-c++,java,fortran,ada
> --enable-java-awt=gtk --disable-dssi --enable-plugin
> --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre
> --with-cpu=generic --host=x86_64-redhat-linux
> Thread model: posix
> gcc version 4.1.2 20070626 (Red Hat 4.1.2-14)
> 
> $
> 
> Regards,
> Bruce

Try doing this link without (omit them) the arguments that match:
-L/usr/lib/gcc/x86_64-redhat-linux/3.4.6

Most likely your problem is that libstdc++.so from GCC 3.4.6 is being
preferred to the libstdc++.so from the compiler you are running (namely,
GCC 4.1.2). You are obviously not using the v3.4.6 headers (because
there is no -I argument to #include them), so you are trying to use the
GCC 4.1.2 C++ API with the GCC 3.4.6 C++ library, which is bad.

-- 
Coleman Kane
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://mail.gnhlug.org/mailman/private/gnhlug-discuss/attachments/20080505/cd168138/attachment-0001.bin 


More information about the gnhlug-discuss mailing list