[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gnulib and automake
From: |
Benjamin Lindner |
Subject: |
Re: gnulib and automake |
Date: |
Sat, 31 Oct 2009 17:15:53 +0100 |
User-agent: |
Thunderbird 2.0.0.22 (Windows/20090605) |
Benjamin Lindner wrote:
Benjamin Lindner wrote:
From what I saw until now, if I patch libtool as above and we get the
dependency libraries for libcruft (possibly also for liboctave and
liboctinterp?) right, then it should work.
I'm curious how the .oct creation will behave.
An update:
Using the following patch for the generated libtool
--- .build_mingw32_octave-tip-automake-ref-4_gcc-4.4.0-dw2/libtool
2009-10-31 11:08:08 +0100
+++ .build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/libtool
2009-10-31 11:39:24 +0100
@@ -7744,7 +7744,7 @@
if test "$allow_undefined" = yes; then
if test "$allow_undefined_flag" = unsupported; then
func_warning "undefined symbols not allowed in $host shared
libraries"
- build_libtool_libs=no
+ build_libtool_libs=yes
build_old_libs=yes
fi
else
and the following change on octave's makefile sources
diff -r 5382a2ab87e7 libcruft/Makefile.am
--- a/libcruft/Makefile.am Fri Oct 30 11:10:14 2009 -0400
+++ b/libcruft/Makefile.am Sat Oct 31 14:08:00 2009 +0100
@@ -31,6 +31,8 @@
libcruft_la_LDFLAGS = -release $(version)
+libcruft_la_LIBADD = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
+
octinclude_HEADERS =
EXTRA_DIST = ChangeLog STOP.patch mkf77def.in
diff -r 5382a2ab87e7 liboctave/Makefile.am
--- a/liboctave/Makefile.am Fri Oct 30 11:10:14 2009 -0400
+++ b/liboctave/Makefile.am Sat Oct 31 14:08:00 2009 +0100
@@ -494,10 +494,10 @@
LINK_DEPS = \
$(RLD_FLAG) \
../libcruft/libcruft.la \
- $(SPARSE_LDFLAGS) $(SPARSE_LIBS) \
+ $(SPARSE_LDFLAGS) $(SPARSE_XLIBS) \
$(ARPACK_LIBS) \
$(QRUPDATE_LIBS) \
- $(FFTW_LDFLAGS) $(FFTW_LIBS) \
+ $(FFTW_LDFLAGS) $(FFTW_XLIBS) \
$(LAPACK_LIBS) $(BLAS_LIBS) \
$(READLINE_LIBS) $(TERM_LIBS) \
$(LIBGLOB) $(REGEX_LIBS) $(DL_LIBS) \
I get both cruft.dll and octave.dll
However, building liboctinterp still fails. No shared library is created
and building .oct file fails with a lot of "undefined reference" errors.
I need to debug further.
If I additionally patch libtool as
--- .build_mingw32_octave-tip-automake-ref-4_gcc-4.4.0-dw2/libtool
2009-10-31 11:08:08 +0100
+++ .build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/libtool
2009-10-31 16:44:30 +0100
@@ -345,7 +345,7 @@
with_gnu_ld="yes"
# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag="unsupported"
+allow_undefined_flag="-Wl,--allow-shlib-undefined"
# Flag that enforces no undefined symbols.
no_undefined_flag=""
Then it at last gracefully tried to build a shared liboctinterp, however
it fails with
/bin/sh ../libtool --tag=CXX --verbose --mode=link
mingw32-g++-4.4.0-dw2 -shared-libgcc -march=i686 -mtune=generic -O3
-Wall -DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -Wold-style-cast
-Wformat -march=i686 -mtune=generic -O3 -Wall -march=i686
-mtune=generic -O3 -Wall -release 3.3.50+ -shared-libgcc
-Wl,--allow-multiple-definition -o liboctinterp.la -rpath
/usr/local/octmgw32_gcc-4.4.0-dw2/octave/tip-automake-4/lib/octave-3.3.50+
Cell.lo bitfcns.lo c-file-ptr-stream.lo comment-list.lo cutils.lo
data.lo debug.lo defaults.lo defun.lo dirfns.lo display.lo dynamic-ld.lo
error.lo file-io.lo gl-render.lo graphics.lo gripes.lo help.lo input.lo
lex.lo load-path.lo load-save.lo ls-ascii-helper.lo ls-hdf5.lo
ls-mat-ascii.lo ls-mat4.lo ls-mat5.lo ls-oct-ascii.lo ls-oct-binary.lo
ls-utils.lo mappers.lo matherr.lo mex.lo oct-fstrm.lo oct-hist.lo
oct-iostrm.lo oct-lvalue.lo oct-map.lo oct-obj.lo oct-parse.lo
oct-prcstrm.lo oct-procbuf.lo oct-stream.lo oct-strstrm.lo octave.lo
pager.lo pr-output.lo procstream.lo sighandlers.lo siglist.lo
sparse-xdiv.lo sparse-xpow.lo strfns.lo symtab.lo syscalls.lo sysdep.lo
token.lo toplev.lo txt-eng-ft.lo unwind-prot.lo utils.lo variables.lo
xdiv.lo xnorm.lo xpow.lo zfstream.lo ov-base.lo ov-bool-mat.lo
ov-bool.lo ov-builtin.lo ov-cell.lo ov-ch-mat.lo ov-class.lo ov-colon.lo
ov-complex.lo ov-cs-list.lo ov-cx-diag.lo ov-cx-mat.lo ov-dld-fcn.lo
ov-fcn-handle.lo ov-fcn-inline.lo ov-fcn.lo ov-float.lo
ov-flt-complex.lo ov-flt-cx-diag.lo ov-flt-cx-mat.lo ov-flt-re-diag.lo
ov-flt-re-mat.lo ov-list.lo ov-mex-fcn.lo ov-null-mat.lo ov-perm.lo
ov-range.lo ov-re-diag.lo ov-re-mat.lo ov-scalar.lo ov-str-mat.lo
ov-struct.lo ov-typeinfo.lo ov-usr-fcn.lo ov.lo ov-int16.lo ov-int32.lo
ov-int64.lo ov-int8.lo ov-uint16.lo ov-uint32.lo ov-uint64.lo
ov-uint8.lo ov-base-sparse.lo ov-bool-sparse.lo ov-cx-sparse.lo
ov-re-sparse.lo pt-arg-list.lo pt-assign.lo pt-binop.lo pt-bp.lo
pt-cbinop.lo pt-cell.lo pt-check.lo pt-cmd.lo pt-colon.lo pt-const.lo
pt-decl.lo pt-eval.lo pt-except.lo pt-exp.lo pt-fcn-handle.lo pt-id.lo
pt-idx.lo pt-jump.lo pt-loop.lo pt-mat.lo pt-misc.lo pt-pr-code.lo
pt-select.lo pt-stmt.lo pt-unop.lo pt.lo OPERATORS/op-b-b.lo
OPERATORS/op-b-bm.lo OPERATORS/op-b-sbm.lo OPERATORS/op-bm-b.lo
OPERATORS/op-bm-bm.lo OPERATORS/op-bm-sbm.lo OPERATORS/op-cdm-cdm.lo
OPERATORS/op-cdm-cm.lo OPERATORS/op-cdm-cs.lo OPERATORS/op-cdm-dm.lo
OPERATORS/op-cdm-m.lo OPERATORS/op-cdm-s.lo OPERATORS/op-cell.lo
OPERATORS/op-chm.lo OPERATORS/op-class.lo OPERATORS/op-cm-cdm.lo
OPERATORS/op-cm-cm.lo OPERATORS/op-cm-cs.lo OPERATORS/op-cm-dm.lo
OPERATORS/op-cm-m.lo OPERATORS/op-cm-pm.lo OPERATORS/op-cm-s.lo
OPERATORS/op-cm-scm.lo OPERATORS/op-cm-sm.lo OPERATORS/op-cs-cm.lo
OPERATORS/op-cs-cs.lo OPERATORS/op-cs-m.lo OPERATORS/op-cs-s.lo
OPERATORS/op-cs-scm.lo OPERATORS/op-cs-sm.lo OPERATORS/op-dm-cdm.lo
OPERATORS/op-dm-cm.lo OPERATORS/op-dm-cs.lo OPERATORS/op-dm-dm.lo
OPERATORS/op-dm-m.lo OPERATORS/op-dm-s.lo OPERATORS/op-dm-scm.lo
OPERATORS/op-dm-sm.lo OPERATORS/op-double-conv.lo
OPERATORS/op-fcdm-fcdm.lo OPERATORS/op-fcdm-fcm.lo
OPERATORS/op-fcdm-fcs.lo OPERATORS/op-fcdm-fdm.lo
OPERATORS/op-fcdm-fm.lo OPERATORS/op-fcdm-fs.lo OPERATORS/op-fcm-fcdm.lo
OPERATORS/op-fcm-fcm.lo OPERATORS/op-fcm-fcs.lo OPERATORS/op-fcm-fdm.lo
OPERATORS/op-fcm-fm.lo OPERATORS/op-fcm-fs.lo OPERATORS/op-fcm-pm.lo
OPERATORS/op-fcs-fcm.lo OPERATORS/op-fcs-fcs.lo OPERATORS/op-fcs-fm.lo
OPERATORS/op-fcs-fs.lo OPERATORS/op-fdm-fcdm.lo OPERATORS/op-fdm-fcm.lo
OPERATORS/op-fdm-fcs.lo OPERATORS/op-fdm-fdm.lo OPERATORS/op-fdm-fm.lo
OPERATORS/op-fdm-fs.lo OPERATORS/op-float-conv.lo
OPERATORS/op-fm-fcdm.lo OPERATORS/op-fm-fcm.lo OPERATORS/op-fm-fcs.lo
OPERATORS/op-fm-fdm.lo OPERATORS/op-fm-fm.lo OPERATORS/op-fm-fs.lo
OPERATORS/op-fm-pm.lo OPERATORS/op-fs-fcm.lo OPERATORS/op-fs-fcs.lo
OPERATORS/op-fs-fm.lo OPERATORS/op-fs-fs.lo OPERATORS/op-i16-i16.lo
OPERATORS/op-i32-i32.lo OPERATORS/op-i64-i64.lo OPERATORS/op-i8-i8.lo
OPERATORS/op-int-concat.lo OPERATORS/op-int-conv.lo OPERATORS/op-list.lo
OPERATORS/op-m-cdm.lo OPERATORS/op-m-cm.lo OPERATORS/op-m-cs.lo
OPERATORS/op-m-dm.lo OPERATORS/op-m-m.lo OPERATORS/op-m-pm.lo
OPERATORS/op-m-s.lo OPERATORS/op-m-scm.lo OPERATORS/op-m-sm.lo
OPERATORS/op-pm-cm.lo OPERATORS/op-pm-fcm.lo OPERATORS/op-pm-fm.lo
OPERATORS/op-pm-m.lo OPERATORS/op-pm-pm.lo OPERATORS/op-pm-scm.lo
OPERATORS/op-pm-sm.lo OPERATORS/op-range.lo OPERATORS/op-s-cm.lo
OPERATORS/op-s-cs.lo OPERATORS/op-s-m.lo OPERATORS/op-s-s.lo
OPERATORS/op-s-scm.lo OPERATORS/op-s-sm.lo OPERATORS/op-sbm-b.lo
OPERATORS/op-sbm-bm.lo OPERATORS/op-sbm-sbm.lo OPERATORS/op-scm-cm.lo
OPERATORS/op-scm-cs.lo OPERATORS/op-scm-m.lo OPERATORS/op-scm-s.lo
OPERATORS/op-scm-scm.lo OPERATORS/op-scm-sm.lo OPERATORS/op-sm-cm.lo
OPERATORS/op-sm-cs.lo OPERATORS/op-sm-m.lo OPERATORS/op-sm-s.lo
OPERATORS/op-sm-scm.lo OPERATORS/op-sm-sm.lo OPERATORS/op-str-m.lo
OPERATORS/op-str-s.lo OPERATORS/op-str-str.lo OPERATORS/op-struct.lo
OPERATORS/op-ui16-ui16.lo OPERATORS/op-ui32-ui32.lo
OPERATORS/op-ui64-ui64.lo OPERATORS/op-ui8-ui8.lo
TEMPLATE-INST/Array-os.lo TEMPLATE-INST/Array-tc.lo builtins.lo
oct-errno.lo ops.lo DASPK-opts.lo DASRT-opts.lo DASSL-opts.lo
LSODE-opts.lo Quad-opts.lo ../liboctave/liboctave.la
../libcruft/libcruft.la -lfftw3 -lfftw3f -lhdf5 -lz -lfontconfig
-lftgl -lfreetype -lz -lopengl32 -lglu32 -lreadline -lncurses -lglob
-llapack -lblas -liberty -lm -lgdi32 -lws2_32 -luser32 -lkernel32
-lgfortran -liberty -lm -lgdi32 -lws2_32 -luser32 -lkernel32
libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32
shared libraries
libtool: link: rm -fr .libs/liboctinterp.dll.a
*** Warning: linker path does not have real file for library -liberty.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because I did check the linker path looking for a file starting
*** with libiberty and none of the candidates passed a file format test
*** using a file magic. Last file checked: /mingw/lib/libiberty.a
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.
libtool: link: mingw32-g++-4.4.0-dw2 -shared-libgcc -shared -nostdlib
d:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0/../../../dllcrt2.o
d:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0/crtbegin.o
.libs/Cell.o .libs/bitfcns.o .libs/c-file-ptr-stream.o
.libs/comment-list.o .libs/cutils.o .libs/data.o .libs/debug.o
.libs/defaults.o .libs/defun.o .libs/dirfns.o .libs/display.o
.libs/dynamic-ld.o .libs/error.o .libs/file-io.o .libs/gl-render.o
.libs/graphics.o .libs/gripes.o .libs/help.o .libs/input.o .libs/lex.o
.libs/load-path.o .libs/load-save.o .libs/ls-ascii-helper.o
.libs/ls-hdf5.o .libs/ls-mat-ascii.o .libs/ls-mat4.o .libs/ls-mat5.o
.libs/ls-oct-ascii.o .libs/ls-oct-binary.o .libs/ls-utils.o
.libs/mappers.o .libs/matherr.o .libs/mex.o .libs/oct-fstrm.o
.libs/oct-hist.o .libs/oct-iostrm.o .libs/oct-lvalue.o .libs/oct-map.o
.libs/oct-obj.o .libs/oct-parse.o .libs/oct-prcstrm.o
.libs/oct-procbuf.o .libs/oct-stream.o .libs/oct-strstrm.o
.libs/octave.o .libs/pager.o .libs/pr-output.o .libs/procstream.o
.libs/sighandlers.o .libs/siglist.o .libs/sparse-xdiv.o
.libs/sparse-xpow.o .libs/strfns.o .libs/symtab.o .libs/syscalls.o
.libs/sysdep.o .libs/token.o .libs/toplev.o .libs/txt-eng-ft.o
.libs/unwind-prot.o .libs/utils.o .libs/variables.o .libs/xdiv.o
.libs/xnorm.o .libs/xpow.o .libs/zfstream.o .libs/ov-base.o
.libs/ov-bool-mat.o .libs/ov-bool.o .libs/ov-builtin.o .libs/ov-cell.o
.libs/ov-ch-mat.o .libs/ov-class.o .libs/ov-colon.o .libs/ov-complex.o
.libs/ov-cs-list.o .libs/ov-cx-diag.o .libs/ov-cx-mat.o
.libs/ov-dld-fcn.o .libs/ov-fcn-handle.o .libs/ov-fcn-inline.o
.libs/ov-fcn.o .libs/ov-float.o .libs/ov-flt-complex.o
.libs/ov-flt-cx-diag.o .libs/ov-flt-cx-mat.o .libs/ov-flt-re-diag.o
.libs/ov-flt-re-mat.o .libs/ov-list.o .libs/ov-mex-fcn.o
.libs/ov-null-mat.o .libs/ov-perm.o .libs/ov-range.o .libs/ov-re-diag.o
.libs/ov-re-mat.o .libs/ov-scalar.o .libs/ov-str-mat.o .libs/ov-struct.o
.libs/ov-typeinfo.o .libs/ov-usr-fcn.o .libs/ov.o .libs/ov-int16.o
.libs/ov-int32.o .libs/ov-int64.o .libs/ov-int8.o .libs/ov-uint16.o
.libs/ov-uint32.o .libs/ov-uint64.o .libs/ov-uint8.o
.libs/ov-base-sparse.o .libs/ov-bool-sparse.o .libs/ov-cx-sparse.o
.libs/ov-re-sparse.o .libs/pt-arg-list.o .libs/pt-assign.o
.libs/pt-binop.o .libs/pt-bp.o .libs/pt-cbinop.o .libs/pt-cell.o
.libs/pt-check.o .libs/pt-cmd.o .libs/pt-colon.o .libs/pt-const.o
.libs/pt-decl.o .libs/pt-eval.o .libs/pt-except.o .libs/pt-exp.o
.libs/pt-fcn-handle.o .libs/pt-id.o .libs/pt-idx.o .libs/pt-jump.o
.libs/pt-loop.o .libs/pt-mat.o .libs/pt-misc.o .libs/pt-pr-code.o
.libs/pt-select.o .libs/pt-stmt.o .libs/pt-unop.o .libs/pt.o
OPERATORS/.libs/op-b-b.o OPERATORS/.libs/op-b-bm.o
OPERATORS/.libs/op-b-sbm.o OPERATORS/.libs/op-bm-b.o
OPERATORS/.libs/op-bm-bm.o OPERATORS/.libs/op-bm-sbm.o
OPERATORS/.libs/op-cdm-cdm.o OPERATORS/.libs/op-cdm-cm.o
OPERATORS/.libs/op-cdm-cs.o OPERATORS/.libs/op-cdm-dm.o
OPERATORS/.libs/op-cdm-m.o OPERATORS/.libs/op-cdm-s.o
OPERATORS/.libs/op-cell.o OPERATORS/.libs/op-chm.o
OPERATORS/.libs/op-class.o OPERATORS/.libs/op-cm-cdm.o
OPERATORS/.libs/op-cm-cm.o OPERATORS/.libs/op-cm-cs.o
OPERATORS/.libs/op-cm-dm.o OPERATORS/.libs/op-cm-m.o
OPERATORS/.libs/op-cm-pm.o OPERATORS/.libs/op-cm-s.o
OPERATORS/.libs/op-cm-scm.o OPERATORS/.libs/op-cm-sm.o
OPERATORS/.libs/op-cs-cm.o OPERATORS/.libs/op-cs-cs.o
OPERATORS/.libs/op-cs-m.o OPERATORS/.libs/op-cs-s.o
OPERATORS/.libs/op-cs-scm.o OPERATORS/.libs/op-cs-sm.o
OPERATORS/.libs/op-dm-cdm.o OPERATORS/.libs/op-dm-cm.o
OPERATORS/.libs/op-dm-cs.o OPERATORS/.libs/op-dm-dm.o
OPERATORS/.libs/op-dm-m.o OPERATORS/.libs/op-dm-s.o
OPERATORS/.libs/op-dm-scm.o OPERATORS/.libs/op-dm-sm.o
OPERATORS/.libs/op-double-conv.o OPERATORS/.libs/op-fcdm-fcdm.o
OPERATORS/.libs/op-fcdm-fcm.o OPERATORS/.libs/op-fcdm-fcs.o
OPERATORS/.libs/op-fcdm-fdm.o OPERATORS/.libs/op-fcdm-fm.o
OPERATORS/.libs/op-fcdm-fs.o OPERATORS/.libs/op-fcm-fcdm.o
OPERATORS/.libs/op-fcm-fcm.o OPERATORS/.libs/op-fcm-fcs.o
OPERATORS/.libs/op-fcm-fdm.o OPERATORS/.libs/op-fcm-fm.o
OPERATORS/.libs/op-fcm-fs.o OPERATORS/.libs/op-fcm-pm.o
OPERATORS/.libs/op-fcs-fcm.o OPERATORS/.libs/op-fcs-fcs.o
OPERATORS/.libs/op-fcs-fm.o OPERATORS/.libs/op-fcs-fs.o
OPERATORS/.libs/op-fdm-fcdm.o OPERATORS/.libs/op-fdm-fcm.o
OPERATORS/.libs/op-fdm-fcs.o OPERATORS/.libs/op-fdm-fdm.o
OPERATORS/.libs/op-fdm-fm.o OPERATORS/.libs/op-fdm-fs.o
OPERATORS/.libs/op-float-conv.o OPERATORS/.libs/op-fm-fcdm.o
OPERATORS/.libs/op-fm-fcm.o OPERATORS/.libs/op-fm-fcs.o
OPERATORS/.libs/op-fm-fdm.o OPERATORS/.libs/op-fm-fm.o
OPERATORS/.libs/op-fm-fs.o OPERATORS/.libs/op-fm-pm.o
OPERATORS/.libs/op-fs-fcm.o OPERATORS/.libs/op-fs-fcs.o
OPERATORS/.libs/op-fs-fm.o OPERATORS/.libs/op-fs-fs.o
OPERATORS/.libs/op-i16-i16.o OPERATORS/.libs/op-i32-i32.o
OPERATORS/.libs/op-i64-i64.o OPERATORS/.libs/op-i8-i8.o
OPERATORS/.libs/op-int-concat.o OPERATORS/.libs/op-int-conv.o
OPERATORS/.libs/op-list.o OPERATORS/.libs/op-m-cdm.o
OPERATORS/.libs/op-m-cm.o OPERATORS/.libs/op-m-cs.o
OPERATORS/.libs/op-m-dm.o OPERATORS/.libs/op-m-m.o
OPERATORS/.libs/op-m-pm.o OPERATORS/.libs/op-m-s.o
OPERATORS/.libs/op-m-scm.o OPERATORS/.libs/op-m-sm.o
OPERATORS/.libs/op-pm-cm.o OPERATORS/.libs/op-pm-fcm.o
OPERATORS/.libs/op-pm-fm.o OPERATORS/.libs/op-pm-m.o
OPERATORS/.libs/op-pm-pm.o OPERATORS/.libs/op-pm-scm.o
OPERATORS/.libs/op-pm-sm.o OPERATORS/.libs/op-range.o
OPERATORS/.libs/op-s-cm.o OPERATORS/.libs/op-s-cs.o
OPERATORS/.libs/op-s-m.o OPERATORS/.libs/op-s-s.o
OPERATORS/.libs/op-s-scm.o OPERATORS/.libs/op-s-sm.o
OPERATORS/.libs/op-sbm-b.o OPERATORS/.libs/op-sbm-bm.o
OPERATORS/.libs/op-sbm-sbm.o OPERATORS/.libs/op-scm-cm.o
OPERATORS/.libs/op-scm-cs.o OPERATORS/.libs/op-scm-m.o
OPERATORS/.libs/op-scm-s.o OPERATORS/.libs/op-scm-scm.o
OPERATORS/.libs/op-scm-sm.o OPERATORS/.libs/op-sm-cm.o
OPERATORS/.libs/op-sm-cs.o OPERATORS/.libs/op-sm-m.o
OPERATORS/.libs/op-sm-s.o OPERATORS/.libs/op-sm-scm.o
OPERATORS/.libs/op-sm-sm.o OPERATORS/.libs/op-str-m.o
OPERATORS/.libs/op-str-s.o OPERATORS/.libs/op-str-str.o
OPERATORS/.libs/op-struct.o OPERATORS/.libs/op-ui16-ui16.o
OPERATORS/.libs/op-ui32-ui32.o OPERATORS/.libs/op-ui64-ui64.o
OPERATORS/.libs/op-ui8-ui8.o TEMPLATE-INST/.libs/Array-os.o
TEMPLATE-INST/.libs/Array-tc.o .libs/builtins.o .libs/oct-errno.o
.libs/ops.o .libs/DASPK-opts.o .libs/DASRT-opts.o .libs/DASSL-opts.o
.libs/LSODE-opts.o .libs/Quad-opts.o
-L/octmgw32/octave/.build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/libcruft/.libs
../liboctave/.libs/liboctave.dll.a
-L/usr/local/octmgw32_gcc-4.4.0-dw2/lib
/octmgw32/octave/.build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/libcruft/.libs/libcruft.dll.a
-lcholmod -lumfpack -lamd -lcamd -lcolamd -lccolamd -lcxsparse -larpack
-lqrupdate -lregex -lpcre -lpthread ../libcruft/.libs/libcruft.dll.a
-lfftw3 -lfftw3f -lhdf5 -lfontconfig -lftgl -lfreetype -lz -lopengl32
-lglu32 -lreadline -lncurses -lglob -llapack -lblas -luser32 -lkernel32
-lgfortran -lgdi32 -lws2_32 -luser32 -lkernel32
-Ld:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0
-Ld:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc
-LD:/build/octave32/tip_gcc-4.4.0/msys-1.0.11/local/octmgw32_gcc-4.4.0-dw2/lib
-Ld:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/lib
-Ld:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0/../../..
-lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -luser32
-lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc_s -lgcc -lmoldname
-lmingwex -lmsvcrt
d:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0/crtend.o
-march=i686 -mtune=generic -mieee-fp -march=i686 -mtune=generic
-march=i686 -mtune=generic -Wl,--allow-multiple-definition -o
.libs/octinterp.dll -Wl,--enable-auto-image-base -Xlinker --out-implib
-Xlinker .libs/liboctinterp.dll.a
Info: resolving vtable for idx_vector::idx_vector_rep by linking to
__imp___ZTVN10idx_vector14idx_vector_repE (auto-import)
Info: resolving idx_vector::idx_range_rep::allocator by linking to
__imp___ZN10idx_vector13idx_range_rep9allocatorE (auto-import)
Info: resolving idx_vector::idx_colon_rep::allocator by linking to
__imp___ZN10idx_vector13idx_colon_rep9allocatorE (auto-import)
Info: resolving _octave_signal_caught by linking to
__imp__octave_signal_caught (auto-import)
Info: resolving _octave_Inf by linking to __imp__octave_Inf (auto-import)
Info: resolving dir_path::static_members::instance by linking to
__imp___ZN8dir_path14static_members8instanceE (auto-import)
Info: resolving file_ops::static_members::instance by linking to
__imp___ZN8file_ops14static_members8instanceE (auto-import)
Info: resolving _octave_NaN by linking to __imp__octave_NaN (auto-import)
Info: resolving _current_liboctave_error_handler by linking to
__imp__current_liboctave_error_handler (auto-import)
Info: resolving _octave_interrupt_immediately by linking to
__imp__octave_interrupt_immediately (auto-import)
Info: resolving _octave_exception_state by linking to
__imp__octave_exception_state (auto-import)
Info: resolving _H5T_NATIVE_UCHAR_g by linking to
__imp__H5T_NATIVE_UCHAR_g (auto-import)
Info: resolving _H5T_NATIVE_INT_g by linking to __imp__H5T_NATIVE_INT_g
(auto-import)
Info: resolving _H5T_C_S1_g by linking to __imp__H5T_C_S1_g (auto-import)
Info: resolving _H5T_NATIVE_DOUBLE_g by linking to
__imp__H5T_NATIVE_DOUBLE_g (auto-import)
Info: resolving _octave_NA by linking to __imp__octave_NA (auto-import)
Info: resolving _octave_signal_hook by linking to
__imp__octave_signal_hook (auto-import)
Info: resolving _octave_interrupt_hook by linking to
__imp__octave_interrupt_hook (auto-import)
Info: resolving _octave_bad_alloc_hook by linking to
__imp__octave_bad_alloc_hook (auto-import)
Info: resolving idx_vector::idx_scalar_rep::allocator by linking
to __imp___ZN10idx_vector14idx_scalar_rep9allocatorE (auto-import)
Info: resolving _octave_interrupt_state by linking to
__imp__octave_interrupt_state (auto-import)
Info: resolving _current_context by linking to __imp__current_context
(auto-import)
Info: resolving idx_vector::idx_vector_rep::allocator by linking
to __imp___ZN10idx_vector14idx_vector_rep9allocatorE (auto-import)
Info: resolving _H5T_NATIVE_HBOOL_g by linking to
__imp__H5T_NATIVE_HBOOL_g (auto-import)
Info: resolving _H5T_NATIVE_FLOAT_g by linking to
__imp__H5T_NATIVE_FLOAT_g (auto-import)
Info: resolving _H5T_NATIVE_SCHAR_g by linking to
__imp__H5T_NATIVE_SCHAR_g (auto-import)
Info: resolving _octave_Float_Inf by linking to __imp__octave_Float_Inf
(auto-import)
Info: resolving _H5T_NATIVE_INT16_g by linking to
__imp__H5T_NATIVE_INT16_g (auto-import)
Info: resolving _H5T_NATIVE_INT32_g by linking to
__imp__H5T_NATIVE_INT32_g (auto-import)
Info: resolving _H5T_NATIVE_INT64_g by linking to
__imp__H5T_NATIVE_INT64_g (auto-import)
Info: resolving _H5T_NATIVE_INT8_g by linking to
__imp__H5T_NATIVE_INT8_g (auto-import)
Info: resolving _H5T_NATIVE_UINT16_g by linking to
__imp__H5T_NATIVE_UINT16_g (auto-import)
Info: resolving _H5T_NATIVE_UINT32_g by linking to
__imp__H5T_NATIVE_UINT32_g (auto-import)
Info: resolving _H5T_NATIVE_UINT64_g by linking to
__imp__H5T_NATIVE_UINT64_g (auto-import)
Info: resolving _H5T_NATIVE_UINT8_g by linking to
__imp__H5T_NATIVE_UINT8_g (auto-import)
Info: resolving idx_vector::colon by linking to
__imp___ZN10idx_vector5colonE (auto-import)
Creating library file:
.libs/liboctinterp.dll.ad:/build/octave32/tip_gcc-4.4.0/gcc-mingw-4.4.0/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe:
warning: auto-importing has been activated without --enable-auto-import
specified on the command line.
This should work unless it involves constant data structures referencing
symbols from auto-imported DLLs.
.libs/file-io.o:file-io.cc:(.text+0x7eb0): undefined reference to `mkstemps
'
collect2: ld returned 1 exit status
make[3]: *** [liboctinterp.la] Error 1
make[3]: Leaving directory
`/octmgw32/octave/.build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/octmgw32/octave/.build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/octmgw32/octave/.build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2'
make: *** [all] Error 2
And this is the point libtool is getting me really annoyed, because it
simply totally screws up.
Compare the libtool command executed from the makefile with the
--verbose output of the actual link command libtool executes.
You'll notice that -liberty is correctly listed among the libraries in
the first command, since the makefile reads
LIBS = -liberty -lm -lgdi32 -lws2_32 -luser32 -lkernel32
however, the actual link command libtool spawns does not contain
-liberty and - hello! - the link command fails with an undefined
reference to a function defined in -liberty. What the?
That's exactly what libtool is all about. Thinking to know better than
the user and by that messing it up.
Are you really sure that octave must use libtool? It simply doesn't work
for windows.
It'll end up that one patches the makefiles and adds explicit link
commands to create the shared libraries - like for all dependency libs
where libtool messes around. Great.
benjamin
- Re: gnulib and automake, (continued)
- Re: gnulib and automake, Benjamin Lindner, 2009/10/30
- Re: gnulib and automake, John W. Eaton, 2009/10/30
- Re: gnulib and automake, Benjamin Lindner, 2009/10/30
- Re: gnulib and automake, John W. Eaton, 2009/10/30
- Re: gnulib and automake, Benjamin Lindner, 2009/10/30
- Re: gnulib and automake, John W. Eaton, 2009/10/30
- Re: gnulib and automake, Benjamin Lindner, 2009/10/31
- Re: gnulib and automake, Benjamin Lindner, 2009/10/31
- Re: gnulib and automake, John W. Eaton, 2009/10/31
- Re: gnulib and automake,
Benjamin Lindner <=
- Re: gnulib and automake, John W. Eaton, 2009/10/31
- Re: gnulib and automake, Benjamin Lindner, 2009/10/31
- Re: gnulib and automake, John W. Eaton, 2009/10/31
- Re: gnulib and automake, Benjamin Lindner, 2009/10/31
- Re: gnulib and automake, John W. Eaton, 2009/10/31
- Re: gnulib and automake, Benjamin Lindner, 2009/10/31
Re: gnulib and automake, John W. Eaton, 2009/10/30
Re: gnulib and automake, Rik, 2009/10/28