From help-request at octave dot org Fri Dec 30 13:04:37 2005 Subject: Re: Build failure on OS X From: "Otto Maddox" To: "Joe Koski" , "Octave Help" Date: Fri, 30 Dec 2005 19:03:00 +0000 Thanks to Joe, Marius and A S Hodel for your responses. I did the LDFLAGS="/usr/lib/gcc/darwin/2.95.2 -lcc_dynamic" thing which resolved the restFP and saveFP symbols. Now I'm closer, but still have a linking error which seems to be unresolved mangled C++ identifiers (see below). These symbols are present in /usr/lib/gcc/darwin/3.3/libstdc++.a. So what is puzzling me now, is why isn't /usr/bin/g++-3.3 linking against that library? 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: 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 __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_SeekdirSt13_Ios_Openmode __ZNSaIcED4Ev __ZNSt19basic_ostringstreamIcSt11char_traitsIcESaIcEEC4ESt13_Ios_Openmode __ZNSt13basic_filebufIcSt11char_traitsIcEED4Ev __ZNSi5seekgElSt12_Ios_Seekdir __ZNSt19basic_istringstreamIcSt11char_traitsIcESaIcEEC4ERKSsSt13_Ios_Openmode On Fri, 30 Dec 2005 09:54:29 -0700, "Joe Koski" said: > I did successfully build octave-2.1.72 on OS X 10.3.9. I had two missing > routines that you also have: saveFP and restFP. There are some routines > in > different places than they are in Linux for OS X 10.3 and 10.4. > > The solution for me was to find libcc_dynamic.a and export > LDFLAGS="-L/usr/lib -L/usr/lib/gcc/darwin/2.95.2 -lcc_dynamic" on my > machine > before building octave. I later found a copy of libcc_dynamic.a in > /usr/lib > on my Mac that would probably be a better choice to use. > > Try export LDFLAGS="-L/usr/lib -lcc_dynamic" before configuring and see > if > it helps. > > On 10.4 I would also find and nm on libgcc.a to see whats there. Ted > Chang, > who was building R reported success with: > > "Thanks everyone. Martin Costabel's comments were right on target. I > made > a symbolic link from /usr/lib/libcc_dynamic.a to > /usr/lib/gcc/powerpc-apple-darwin8/4.0.0/libgcc.a and it worked!" > > One of those solutions should get you closer. > > Joe > > > > on 12/30/05 3:27 AM, Otto Maddox at ottomaddox at fastmail dot fm 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.f > > ramework/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_SeekdirSt1 > > 3_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 > > -- http://www.fastmail.fm - Faster than the air-speed velocity of an unladen european swallow ------------------------------------------------------------- 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 -------------------------------------------------------------