|
From: | sam sirlin |
Subject: | Re: Octave 2.9.16 available for ftp -- build problems on freebsd/amd64 |
Date: | Thu, 15 Nov 2007 09:01:57 -0800 |
User-agent: | Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.8.1.9) Gecko/20071109 SeaMonkey/1.1.6 |
John W. Eaton wrote:
On 14-Nov-2007, sam sirlin wrote: | Regarding Makefrag.bsd, the flags that are filtered out for some files| | PT_FLAGS = -fexternal-templates -fno-implicit-templates| CXXFLAGS_NO_PT_FLAGS = $(filter-out $(PT_FLAGS), $(ALL_CXXFLAGS))| | are never set in my normal compilation. In fact, some tests seem to show | that the compile lines with | | CXXFLAGS_NO_PT_FLAGS | | are never used anyway. Not sure why.| rm src/pic/lex.o; gmake -d gives tons of output, including | Found an implicit rule for `pic/lex.o'. | compilation line without filter| | adding to cxxflags I do see| c1plus: warning: switch '-fexternal-templates' is no longer supported| | I'll try and do a complete build from scratch forcing those flags in | cxxflags later...OK, I looked again and given that Octave's configure script no longer tries to use these options (and probably hasn't in several years at least) I think it should be safe to remove Makefrag.bsd.
To check, I ran with CXXFLAGS = -fPIC -fexternal-templates -fno-implicit-templatesand disabled the filter, and it did not build; stopped with a whole slew of undefined referrences
g++42 -I/usr/local/include -I/usr/local/include/UMFPACK -I/usr/local/include/metis -I. -I.. -I../liboctave -I../src -I../libcruft/misc -DHAVE_CONFIG_H -Wall -W -Wshadow -Wold-style-cast -fPIC -fexternal-templates -fno-implicit-templates -rdynamic \
-L.. -fPIC -L/usr/local/lib -lmetis -lm -o octave \ main.o \-L../liboctave -L../libcruft -L../src -Wl,-rpath -Wl,/usr/local/lib/octave-2.9.16 \
-loctinterp -loctave -lcruft \ -lumfpack -lamd -lcamd -lcolamd \ -lcholmod -lccolamd -lcxsparse -llapack -lcblas -lf77blas -latlas \-lfftw3 -lreadline -lncurses -lz -lm -L/usr/local/lib -L/usr/local/lib/gcc-4.2.3/gcc/x86_64-portbld-freebsd6.2/4.2.3 -L/usr/local/lib/gcc-4.2.3/gcc/x86_64-portbld-freebsd6.2/4.2.3/../../.. -lmetis -lgfortranbegin -lgfortran -lm -lz ../liboctave/liboctave.so: warning: warning: tempnam() possibly used unsafely; consider using mkstemp() ../liboctave/liboctave.so: undefined reference to `bool operator!=<unsigned long, signed char>(octave_int<unsigned long> const&, octave_int<signed char> const&)' ../src/liboctinterp.so: undefined reference to `std::deque<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_destroy_data_aux(std::_Deque_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>, std::_Deque_iterator<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*>)'
..so I guess if you ever bring back the switches the filter might be necessary... but if not then the filter of course isn't needed.
[Prev in Thread] | Current Thread | [Next in Thread] |