From help-request at octave dot org Fri Dec 30 20:05:45 2005 Subject: Re: Build failure on OS X From: marius173 at mchsi dot com To: Joe Koski Cc: Shai Ayal , Otto Maddox , Octave Help Date: Sat, 31 Dec 2005 02:04:09 +0000 Joe, Otto, gcc 3.4.5 is the newest version of gcc 3.4.x. I used it for the hmug.org octave 2.1.72 port for Mac OS X 10.4. My build of gcc 3.4.5 is similar to DarwinPort's, but I built it into /usr/local/gcc-3.4 instead. DP's octave port uses the previous version, gcc 3.4.4. Note: Since I also use hpc's g77 3.4.4 (which works with Apple's gcc 3.3.3 and 4.0.x most of the time - but not for octave) which is installed into /usr/local, I had to avoid library conflicts by putting my gcc 3.4.5 into a separate tree. If you need to (re-)build this I can send you my configure settings. Marius > 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 > ------------------------------------------------------------- > ------------------------------------------------------------- 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 -------------------------------------------------------------