octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave 2.9.16 available for ftp -- build problems on freebsd/amd64


From: sam sirlin
Subject: Re: Octave 2.9.16 available for ftp -- build problems on freebsd/amd64
Date: Tue, 13 Nov 2007 09:13:49 -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  3-Nov-2007, sam sirlin wrote:

| Somehow 2.9.15 configured ok, but 2.9.16 does not
| | - I seem to need -lmetis in cholmod, so I had to modify configure.

The license of metis is not compatible with the GPL, so Octave's
configure script no longer looks for it.  You can either build a copy
of cholmod that does not link to it, or you can pass LDFLAGS to
configure.  You should not have to modify the configure script.
after applying your diffs:

setenv CC gcc42
setenv CXX g++42
setenv F77 gfortran42

setenv CFLAGS "-fPIC"
setenv CXXFLAGS "-fPIC"
setenv CPPFLAGS "-I/usr/local/include -I/usr/local/include/UMFPACK -I/usr/local/include/metis"
setenv LDFLAGS "-L/usr/local/lib -lmetis -lm "

./configure  \
 --enable-dl --enable-shared --enable-lite-kernel

Still get barf on sed

configure: creating ./config.status
config.status: creating Makefile
sed: 3: ./confJtlciY/subs-1.sed: filename expected

I'll look more later...
| - config.status does not work:
| ...
|  config.status: creating Makefile
| sed: 3: ./confxQ2JMe/subs-1.sed: filename expected
| config.status: creating octMakefile
| sed: 3: ./confxQ2JMe/subs-1.sed: filename expected
| ...
| | Comparing config.status to 2.9.15 version, I see | | # No need to generate the scripts if there are no CONFIG_FILES.
| # This happens for instance when ./config.status config.h
| if test -n "$CONFIG_FILES"; then
| | cat >"$tmp/subs-1.sed" <<\CEOF
| /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
| /^[     address@hidden@[     ]*$/{
| r
| d
| }
| /^[     address@hidden@[     ]*$/{
| r Makefrag.bsd
| d
| }
| ...
| but  2.9.15 has
| | # No need to generate the scripts if there are no CONFIG_FILES.
| # This happens for instance when ./config.status config.h
| if test -n "$CONFIG_FILES"; then
| | cat >"$tmp/subs-1.sed" <<\CEOF
| /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
| /^[     address@hidden@[     ]*$/{
| r Makefrag.f77
| d
| }
| /^[     address@hidden@[     ]*$/{
| r Makefrag.bsd
| d
| }
| | | I copied the Makefrag.f77 from 15, and added it into config.status (only | the text "Makefrag.f77" was missing). Then config.status generates the | files; now seems to be compiling ok... | | As a test, I deleted the part for the Makefrag.f77, and that seems to | work ok too...
| e.g.

There shouldn't be a Makefrag.f77 file now.  When I removed it, I
missed the AC_SUBST_FILE macro in configure.in.  The attached patch
should fix that.

Also, looking at the Makefrag.bsd file, I would like to know whether
it is needed now.  It is just a set of special rules for a few files
(the following is from configure.in):

  bsd_gcc_kluge_targets_frag=/dev/null
  case "$canonical_host_type" in
    *-*-386bsd* | *-*-openbsd* | *-*-netbsd* | *-*-freebsd*)
      bsd_gcc_kluge_targets_frag=Makefrag.bsd
      cat << \EOF > $bsd_gcc_kluge_targets_frag

lex.o: lex.cc $(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<

  pt-plot.o: pt-plot.cc
          $(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<

  symtab.o: symtab.cc
          $(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<

  toplev.o: toplev.cc
          $(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<

unwind-prot.o: unwind-prot.cc $(CXX) -c $(CPPFLAGS) $(CXXFLAGS_NO_PT_FLAGS) $<

  EOF
    ;;
  esac
  AC_SUBST_FILE(bsd_gcc_kluge_targets_frag)

and CXXFLAGS_NO_PT_FLAGS is defined as follows in
  PT_FLAGS = -fexternal-templates -fno-implicit-templates
  CXXFLAGS_NO_PT_FLAGS = $(filter-out $(PT_FLAGS), $(ALL_CXXFLAGS))

Is it still necessary to treat these files specially?  What happens if
you compile them with the normal CXXFLAGS?  Also, what version of GCC
are you using?
I can't speak for all *bsd; I'll try an experiment later;

I'm running a recent freeBSD stable:

celeborn.my.domain{sam} > uname -a
FreeBSD celeborn.my.domain 6.3-PRERELEASE FreeBSD 6.3-PRERELEASE #0: Sat Nov 3 01:48:33 PDT 2007 address@hidden:/usr/obj/usr/src/sys/CELEBORN amd64

and compile with a recent gcc:

celeborn.my.domain{sam} > gcc42 -v
Using built-in specs.
Target: x86_64-portbld-freebsd6.2
Configured with: ./..//gcc-4.2-20071024/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --with-gmp=/usr/local --program-suffix=42 --libdir=/usr/local/lib/gcc-4.2.3 --with-gxx-include-dir=/usr/local/lib/gcc-4.2.3/include/c++/ --disable-libgcj --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc42 x86_64-portbld-freebsd6.2
Thread model: posix
gcc version 4.2.3 20071024 (prerelease)

Sam Sirlin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]