[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Compiling from CVS
From: |
John W. Eaton |
Subject: |
Compiling from CVS |
Date: |
Sun, 6 Feb 2005 13:47:05 -0500 |
On 6-Feb-2005, Todd Neal <address@hidden> wrote:
| I recently attempted to compile Octave from CVS and ran across the following
problem:
|
|
| g++ -I. -I.. -I../liboctave -I../src -I../libcruft/misc -I../glob -I../glob
-DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -g -O2 \
| -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 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 odessa.o pinv.o qr.o quad.o qz.o
rand.o schur.o sort.o sqrtm.o svd.o syl.o time.o gplot.o \
| -L../liboctave -L../libcruft -L../src -Wl,-rpath
-Wl,/home/tolchz/octave/install/lib/octave-2.1.64 \
| ../src/liboctinterp.a ../liboctave/liboctave.a ../libcruft/libcruft.a
../glob/glob.o ../glob/fnmatch.o \
| -lblas -lreadline -lncurses -lm -L/usr/lib/gcc-lib/i486-linux/3.3.5
-L/usr/lib/gcc-lib/i486-linux/3.3.5/../../.. -lfrtbegin -lg2c -lm
| -lgcc_s
|
../src/liboctinterp.a(file-io.o)(.bss+0x0):/home/tolchz/octave/octave/src/file-io.cc:83:
multiple definition of `tmp_files'
| gplot.o(.bss+0x20):/home/tolchz/octave/octave/src/<stdout>:752: first
defined here
| ../liboctave/liboctave.a(file-ops.o)(.text+0xf2b): In function
`file_ops::tempnam(std::basic_string<char, std::char_traits<char>,
| std::allocator<char> > const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char,
| std::char_traits<char>, std::allocator<char> >&)':
| /home/tolchz/octave/octave/liboctave/file-ops.cc:335: warning: the use of
`tempnam' is dangerous, better use `mkstemp'
| collect2: ld returned 1 exit status
| make[2]: *** [octave] Error 1
| make[2]: Leaving directory `/home/tolchz/octave/octave/src'
| make[1]: *** [src] Error 2
| make[1]: Leaving directory `/home/tolchz/octave/octave'
| make: *** [all] Error 2
|
|
| I checked in file-io.cc and gplot.cc and tmp_files is declared twice.
|
| file-io.cc:
| 104 // List of files to delete when we exit or crash.
| 105 //
| 106 // XXX FIXME XXX -- this should really be static, but that causes
| 107 // problems on some systems.
| 108 std::stack <std::string> tmp_files;
|
|
|
| gplot.cc:
| 2000 // List of files to delete when we exit or crash.
| 2001 //
| 2002 // XXX FIXME XXX -- this should really be static, but that causes
| 2003 // problems on some systems.
| 2004 std::stack <std::string> tmp_files;
|
|
| Commenting out line 2004 in gplot.cc allows it to compile.
Thanks, I fixed this.
The proper place to make the change is in gplot.l, since gplot.cc is
constructed from that. If you run make clean, your change to gplot.cc
will be lost.
jwe