From help-request at octave dot org Fri Dec 30 19:21:01 2005 Subject: Re: Build failure on OS X From: Joe Koski To: Shai Ayal , Otto Maddox CC: Octave Help Date: Fri, 30 Dec 2005 18:14:42 -0700 Otto, Shai has a good point with regard to the Fortran version. The g77 that I used to compile octave-2.1.72 came from http://hpc.sourceforge.net/ and is version 3.4.4. I don't recall ever seeing the version 3.4.5 that you are using. Installing g77 from HPC is relatively easy compared to a full build. As far as versions go, I had linking conflicts between gcc-3.3 and g77-3.3 long ago, so I went to g77-3.4 with success. Apple modifies gcc for its own uses, so things can get tricky sometimes. Gaurav Khanna who builds the HPC binaries, including octave, seems to be on top of what works and what doesn't work. Joe on 12/30/05 1:40 PM, Shai Ayal at shaia at biocontrol dot co dot il wrote: > I'm no expert on OS X, but it strikes me odd that you are using gcc/g++ > version 3.3 and g77 version 3.4.5. > I would try to compile with a "same version" set of gcc/g++/g77 > > Shai > > Otto Maddox wrote: >> I'm trying to build Octave 2.1.72 on Mac OS X 10.4.3. >> >> I configured it to build like this: >> >> env CC=/usr/bin/gcc-3.3 CXX=/usr/bin/g++-3.3 >> F77=/opt/local/gcc34/bin/g77 LDFLAGS=-L/opt/local/lib >> CPPFLAGS=-I/opt/local/include ./configure --prefix=$HOME/octave >> >> where /opt/local/gcc34/bin/g77 is version 3.4.5. >> >> But ld is failing, complaining of undefined symbols (see below). >> >> How can I chase down this problem to try to fix it? >> >> Thanks. >> >> >> /usr/bin/g++-3.3 -I/opt/local/include -I. -I.. -I../liboctave -I../src >> -I../libcruft/misc -DHAVE_CONFIG_H -Wall -W -Wshadow -g -O2 \ >> -L.. -L/opt/local/lib -o octave \ >> main.o balance.o besselj.o betainc.o chol.o colloc.o daspk.o >> dasrt.o dassl.o det.o eig.o expm.o fft.o fft2.o fftn.o >> fftw_wisdom.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 lpsolve.o >> lsode.o lu.o minmax.o pinv.o qr.o quad.o qz.o rand.o schur.o >> sort.o sqrtm.o svd.o syl.o time.o \ >> -L../liboctave -L../libcruft -L../src \ >> ../src/liboctinterp.a ../liboctave/liboctave.a ../libcruft/libcruft.a >> \ >> -framework vecLib -lreadline -lncurses -lhdf5 -lz -lm >> -L/opt/local/lib >> -L/opt/local/gcc34/lib/gcc/powerpc-apple-darwin8.3.0/3.4.5 >> -L/opt/local/gcc34/lib/gcc/powerpc-apple-darwin8.3.0/3.4.5/../../.. >> -lhdf5 -lz -lm -lfrtbegin -lg2c -lgcc_s -lSystemStubs -lSystem >> ld: warning multiple definitions of symbol _xerbla_ >> ../src/liboctinterp.a(xerbla.o) definition of _xerbla_ in section >> (__TEXT,__text) >> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib. >> framework/Versions/A/libBLAS.dylib(single >> module) definition of _xerbla_ >> ld: warning multiple definitions of symbol _UP >> /opt/local/lib/libreadline.dylib(terminal.so) definition of _UP >> /usr/lib/libncurses.dylib(lib_termcap.o) definition of _UP >> ld: warning multiple definitions of symbol _BC >> /opt/local/lib/libreadline.dylib(terminal.so) definition of _BC >> /usr/lib/libncurses.dylib(lib_termcap.o) definition of _BC >> ld: warning multiple definitions of symbol _PC >> /opt/local/lib/libreadline.dylib(terminal.so) definition of _PC >> /usr/lib/libncurses.dylib(lib_tputs.o) definition of _PC >> ld: Undefined symbols: >> __ZNSs20_S_empty_rep_storageE >> __ZNSt24__default_alloc_templateILb1ELi0EE10deallocateEPvm >> __ZNSt24__default_alloc_templateILb1ELi0EE12_S_force_newE >> __ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE >> __ZNSt24__default_alloc_templateILb1ELi0EE22_S_node_allocator_lockE >> __ZNSt24__default_alloc_templateILb1ELi0EE8allocateEm >> __ZNSt24__default_alloc_templateILb1ELi0EE9_S_refillEm >> restFP >> saveFP >> __ZNSt24__default_alloc_templateILb1ELi0EE5_LockD4Ev >> __ZNSsD4Ev >> __ZNSs4_Rep9_S_createEmRKSaIcE >> __ZNSt15basic_streambufIcSt11char_traitsIcEEC4Ev >> __ZNSt15basic_streambufIcSt11char_traitsIcEED4Ev >> __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE14_M_really_syncEmm >> __ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekoffElSt12_Ios_SeekdirSt >> 13_Ios_Openmode >> __ZNSaIcED4Ev >> __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC4ESt13_Ios_Openmode >> __ZNSt13basic_filebufIcSt11char_traitsIcEED4Ev >> __ZNSi5seekgElSt12_Ios_Seekdir >> __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC4ERKSsSt13_Ios_Openmode >> make[2]: *** [octave] Error 1 >> make[1]: *** [src] Error 2 >> make: *** [all] Error 2 >> > > > > ------------------------------------------------------------- > Octave is freely available under the terms of the GNU GPL. > > Octave's home on the web: http://www.octave.org > How to fund new projects: http://www.octave.org/funding.html > Subscription information: http://www.octave.org/archive.html > ------------------------------------------------------------- > ------------------------------------------------------------- Octave is freely available under the terms of the GNU GPL. Octave's home on the web: http://www.octave.org How to fund new projects: http://www.octave.org/funding.html Subscription information: http://www.octave.org/archive.html -------------------------------------------------------------