help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

compiling octave problems


From: John W. Eaton
Subject: compiling octave problems
Date: Fri, 26 Feb 2010 08:00:09 -0500

On 26-Feb-2010, Mag Gam wrote:

| I have made several attempts to compile octave. The make portion is
| keep failing at:
| 
| ./configure --prefix=/apps CPPFLAGS=-I/apps/include LDFLAGS=-L/apps/lib
| 
| warning: run make in parent directory to update libraries
| make[3]: Leaving directory `/usr/src/octave-3.2.4/libcruft/villad'
| make libcruft.so.3.2.4
| make[3]: Entering directory `/usr/src/octave-3.2.4/libcruft'
| make[3]: `libcruft.so.3.2.4' is up to date.
| make[3]: Leaving directory `/usr/src/octave-3.2.4/libcruft'
| make[2]: Leaving directory `/usr/src/octave-3.2.4/libcruft'
| make -C liboctave all
| make[2]: Entering directory `/usr/src/octave-3.2.4/liboctave'
| make[2]: Leaving directory `/usr/src/octave-3.2.4/liboctave'
| make -C src all
| make[2]: Entering directory `/usr/src/octave-3.2.4/src'
| making defaults.h from defaults.h.in
| defaults.h is unchanged
| make[2]: --cppflags: Command not found
| make[2]: --libs: Command not found

This doesn't look right.  I'm not sure what it is about.  It may cause
trouble later, but it is not the cause of the problem below.

| making oct-conf.h from oct-conf.h.in
| oct-conf.h is unchanged
| g++ -I//apps/include  -I. -I.. -I../liboctave -I../src
| -I../libcruft/misc  -DHAVE_CONFIG_H  -Wall -W -Wshadow
| -Wold-style-cast -Wformat -g -O2 -pthread -rdynamic \
|         -L..  -fPIC -L//apps/lib -o octave \
|         main.o  \
|         -L../liboctave -L../libcruft -L../src -Wl,-rpath
| -Wl,/apps/lib/octave-3.2.4 \
|         -loctinterp -loctave  -lcruft   \
|              \
|             \
|             \
|         -lX11  -lreadline  -lncurses -ldl -lhdf5 -lz -lm  -L//apps/lib
| -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 -lhdf5 -lz -lfrtbegin -lg2c -lm
| ../src/liboctinterp.so: undefined reference to
| `std::basic_istream<char, std::char_traits<char> >::ignore()'
| ../src/liboctinterp.so: undefined reference to `__cxa_get_exception_ptr'
| collect2: ld returned 1 exit status

This usually indicates you are mixing compiler versions, and the 3.4.6
in the -L lines above would suggest that.  I assume these -L options
are coming from the $(FLIBS) variable, which are the Fortran libraries
the configure script found by asking the Fortran compiler you are
using which libraries it needs.  My guess is that you are mixing nan
obsolete version of g77 with a more recent gcc/g++.  If so, make sure
you have gfortran installed and that it is the same version as your
gcc and g++ compilers and add

  F77=gfortran

to the configure command line to use gfortran instead of g77.

jwe


reply via email to

[Prev in Thread] Current Thread [Next in Thread]