[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Failure to compile Octave 3.0.2 on AIX 5.3
From: |
John W. Eaton |
Subject: |
Failure to compile Octave 3.0.2 on AIX 5.3 |
Date: |
Fri, 03 Oct 2008 09:52:31 -0400 |
On 3-Oct-2008, Alisdair Tullo wrote:
| I'm trying to compile Octave 3.0.2 on AIX 5.3.
|
| I used the following configure options:
|
| ./configure
| CC="xlc -q64"
| CFLAGS="-O -qstrict"
| CXX="xlC -q64"
| CXXFLAGS="-O -qrtti=all -qstrict"
| CPPFLAGS="-I/opt/fftw/fftw3_64/include
| -I/build/readline/include"
| LDFLAGS="-L/opt/fftw/fftw3_64/lib
| -L/build/readline/lib -L/usr/local/lib
| -L/build/octave-3.0.2/libcruft
| -L/build/octave-3.0.2/liboctave -lld -llapack"
| AR="ar -X64"
| --disable-shared --disable-dl
| --enable-static
| --enable-readline --prefix=/build/octave
| --with-blas=essl --with-lapack=essl
| --without-umfpack
| --without-colamd
| --without-ccolamd --without-cholmod
| --without-cxsparse
|
| and on what is seemingly the final link step:
|
| xlC -q64 -I/opt/fftw/fftw3_64/include
| -I/build/readline/include -I. -I.. -I../liboctave
| -I../src -I../libcruft/misc -DHAVE_CONFIG_H -O -qrtti=all -qstrict \
| -L.. -L/opt/fftw/fftw3_64/lib
| -L/build/readline/lib -L/usr/local/lib
| -L/build/octave-3.0.2/libcruft
| -L/build/octave-3.0.2/liboctave -lld -llapack -o
| octave \
| main.o balance.o besselj.o betainc.o bsxfun.o cellfun.o chol.o
| ccolamd.o colamd.o colloc.o conv2.o convhulln.o daspk.o dasrt.o
| dassl.o det.o dispatch.o eig.o expm.o fft.o fft2.o fftn.o fftw.o
| filter.o find.o fsolve.o gammainc.o gcd.o getgrent.o getpwent.o
| getrusage.o givens.o hess.o inv.o kron.o lsode.o lu.o luinc.o
| matrix_type.o max.o md5sum.o pinv.o qr.o quad.o qz.o rand.o regexp.o
| schur.o sort.o sparse.o spchol.o spdet.o spfind.o spkron.o splu.o
| spparms.o spqr.o sqrtm.o svd.o syl.o symrcm.o time.o tsearch.o
| typecast.o urlwrite.o __contourc__.o __delaunayn__.o __dsearchn__.o
| __gnuplot_raw__.o __glpk__.o __lin_interpn__.o __pchip_deriv__.o __qp__.o
| __voronoi__.o \
| -L../liboctave -L../libcruft -L../src \
| ../src/liboctinterp.a ../liboctave/liboctave.a ../libcruft/libcruft.a \
| \
| -lessl -lessl \
| -lfftw3 -lreadline -lcurses -lz -lm -L/opt/fftw/fftw3_64/lib
| -L/build/readline/lib -L/usr/local/lib
| -L/build/octave-3.0.2/libcruft
| -L/build/octave-3.0.2/liboctave -lld -llapack -lz -lm
| -lxlf90 -L/usr/lpp/xlf/lib -lxlopt -lxlf -lxlomp_ser
|
| I get these link errors:
|
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_eq(const SparseBoolMatrix&,const
double&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_eq(const double&,const
SparseBoolMatrix&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_ne(const SparseBoolMatrix&,const
double&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_ne(const double&,const
SparseBoolMatrix&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_and(const
SparseBoolMatrix&,const double&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_and(const double&,const
SparseBoolMatrix&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_or(const SparseBoolMatrix&,const
double&)
| ld: 0711-317 ERROR: Undefined symbol: .mx_el_or(const double&,const
SparseBoolMatrix&)
| ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
|
| -bnoquiet provides a little more info but nothing that looks useful to
| me -- output appended below.
|
| I added the explicit -L/build/octave-3.0.2/libcruft
| -L/build/octave-3.0.2/liboctave in case this was some link problem
| with liboctave/libcruft, but it hasn't had any effect.
|
| I've posted here first because I'm unsure if this is a problem of my making
or a bug.
|
| Thanks in advance for any help -- I realise AIX is not the most common of
| platforms, but even general advice would be much appreciated.
I don't see where these symbols are declared.
What is the output from running
nm boolSparse.o | grep mx_el_eq
on your system? I'm just picking mx_el_eq as an example, since I
suspect the problem and solution is the same for all these symbols.
If that command produces C++ mangled names, then does AIX provide a
utility for demangling them, like c++filt? If so, plesae use that to
demangle the names.
As far as I can tell, the only mx_el_eq symbols should be these
mx_el_eq(SparseBoolMatrix const&, bool const&)
mx_el_eq(SparseBoolMatrix const&, SparseBoolMatrix const&)
mx_el_eq(bool const&, SparseBoolMatrix const&)
and they should be defined in boolSparse.o. I don't see where the
versions with double scalar arguments are coming from.
jwe
- Failure to compile Octave 3.0.2 on AIX 5.3, Alisdair Tullo, 2008/10/03
- Failure to compile Octave 3.0.2 on AIX 5.3,
John W. Eaton <=
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, Alisdair Tullo, 2008/10/03
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, John W. Eaton, 2008/10/03
- Message not available
- Message not available
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, John W. Eaton, 2008/10/06
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, John W. Eaton, 2008/10/06
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, David Bateman, 2008/10/06
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, John W. Eaton, 2008/10/06
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, David Bateman, 2008/10/06
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, Alisdair Tullo, 2008/10/07
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, John W. Eaton, 2008/10/08
- Re: Failure to compile Octave 3.0.2 on AIX 5.3, David Bateman, 2008/10/08