From bug-octave-request at bevo dot che dot wisc dot edu Wed Jan 22 17:09:04 2003 Subject: Bug report: compiling problem for 2.1.43 From: "John W. Eaton" To: Ruben Garcia Cc: bug-octave at bevo dot che dot wisc dot edu Date: Wed, 22 Jan 2003 17:08:46 -0600 On 16-Jan-2003, Ruben Garcia wrote: | I tried to compile it on a Linux system with gcc 3.2.1. | Patch to make it compile is below. | ./configure | make | | <> | g++ -I. -I.. -I../liboctave -I../src -I../libcruft/misc -I../glob | -I../glob -DHAVE_CONFIG_H -mieee-fp -g -O2 -Wall \ | -L.. -fPIC -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 filter.o find.o | fsolve.o gammainc.o getgrent.o getpwent.o getrusage.o givens.o | hess.o ifft.o ifft2.o inv.o kron.o log.o lpsolve.o lsode.o lu.o | minmax.o odessa.o pinv.o qr.o quad.o qz.o rand.o schur.o sort.o | svd.o syl.o time.o \ | -L../liboctave -L../libcruft -L../src -Wl,-rpath | -Wl,/usr/local/lib/octave-2.1.43 \ | ../src/liboctinterp.a ../liboctave/liboctave.a ../libcruft/libcruft.a | ../glob/glob.o ../glob/fnmatch.o \ | -lblas -lreadline -lncurses -lm | -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2.1 | -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.2.1/../../.. -lfrtbegin | -lg2c -lm -lgcc_s | ../liboctave/liboctave.a(file-ops.o): In function | `file_ops::tempnam(std::basic_string, | std::allocator > const&, std::basic_string, std::allocator > const&, | std::basic_string, std::allocator >&)': | /usr/src/src/math/octave-2.1.43/liboctave/file-ops.cc:323: the use of | `tempnam' is dangerous, better use `mkstemp' | ../libcruft/libcruft.a(zbdsqr.o): In function `zbdsqr_': | zbdsqr.o(.text+0x8c1): undefined reference to `zdrot_' | zbdsqr.o(.text+0x922): undefined reference to `zdrot_' | zbdsqr.o(.text+0x968): undefined reference to `zdrot_' | collect2: ld devolvió el estado de salida 1 | make[2]: *** [octave] Error 1 | make[2]: Saliendo directorio `/usr/src/src/math/octave-2.1.43/src' | make[1]: *** [src] Error 2 | make[1]: Saliendo directorio `/usr/src/src/math/octave-2.1.43' | make: *** [all] Error 2 | | I fixed it like this: | I'm not saying this should be changed like this, but blas/zdrot.o should be | in CRUFT_OBJ somehow. | Somebody please have a look at it. | | --- octave-2.1.43/libcruft/Makefile.in Wed Nov 20 20:03:05 2002 | +++ octave-2.1.43.new/libcruft/Makefile.in Thu Jan 16 18:09:27 2003 | at @ -96,7 +96,7 @@ | $(MAKE) $(LIBRARIES) | .PHONY: libraries | | -libcruft.$(LIBEXT): $(CRUFT_OBJ) | +libcruft.$(LIBEXT): $(CRUFT_OBJ) blas/zdrot.o | rm -f $ at | $(AR) $(ARFLAGS) $ at $^ | $(RANLIB) $ at The list of files to add to libcruft is generated automatically and should include all the .f files in the blas directory (if you are compiling with --with-blas=no or your system doesn't have a blas library installed when you configure Octave). This seems to work correctly for me. Can you please try to debug why it failed on your system? Thanks, jwe ------------------------------------------------------------- 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 -------------------------------------------------------------