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