octave-maintainers
[Top][All Lists]
Advanced

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

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


From: John W. Eaton
Subject: Octave 2.9.16 available for ftp -- build problems on freebsd/amd64
Date: Sat, 10 Nov 2007 00:14:14 -0500

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.

| - 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?

Thanks,

jwe


ChangeLog:

2007-11-10  John W. Eaton  <address@hidden>

        * configure.in: Delete AC_SUBST_FILE(f77_rules_frag).


Index: configure.in
===================================================================
RCS file: /cvs/octave/configure.in,v
retrieving revision 1.591
diff -u -u -r1.591 configure.in
--- configure.in        7 Nov 2007 18:48:00 -0000       1.591
+++ configure.in        10 Nov 2007 05:11:12 -0000
@@ -713,7 +713,6 @@
 
 FC=$F77
 AC_SUBST(FC)
-AC_SUBST_FILE(f77_rules_frag)
 
 OCTAVE_F77_FLAG(-ffloat-store, [
 AC_MSG_RESULT([setting F77_FLOAT_STORE_FLAG to -ffloat-store])

reply via email to

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