On Thu, Oct 06, 2005 at 02:27:26PM +0200, Ralf Wildenhues wrote: > Hi Nicolas, > > To the Fortran part of your answer: > > * Nicolas Joly wrote on Wed, Oct 05, 2005 at 03:22:10PM CEST: > > On Wed, Oct 05, 2005 at 10:43:40AM +0200, Ralf Wildenhues wrote: > > > > > Could you also try the new test suite? > > > make check TESTS= > > > and send tests/testsuite.log for errors. > > > > Got 3 failures; log attached. > > The first one I can't explain yet (Gary?)
Don;t worry to much about it. I updated CVS libtool in the mean time, and this one is gone. > the other two are easy: > libtool doesn't support Fortran on Tru64 yet. I'm actually surprised > there aren't more failures, both Fortran-related in the old testsuite, > and non-Fortran related in the new one. :) > > For the rest of this mail, I assume this link has suitable(?) > documentation for these Fortran compilers: > http://h21007.www2.hp.com/dspp/files/unprotected/Fortran/docs/unix-um/dfumtoc.htm > > data points: > - the doc mentions that undefined symbols are not allowed -- but ld(1) > says otherwise. Maybe it works with > allow_undefined_flag="\${wl}-expect_unresolved \${wl}\*" > or, if it doesn't, we need to set > allow_undefined_flag=unsupported > - all of `-soname ..', `-msym', `-set_version ..', `-update_registry ..' > seem unsupported by f77/f95, but I believe they should be supplied to > ld by prefixing ${wl} everywhere -- not really sure, though. It seems correct. Tru64 fortran compilers do not support `-expect_unresolved \*' option directly. Passing it prefixed with `-Wl,' solves the problem. All others seems to work directly : [EMAIL PROTECTED] [testsuite.dir/9]> f77 -v -shared -Wl,-expect_unresolved -Wl,\* .libs/c.o .libs/libcee.lax/liba.a/a.o .libs/libcee.lax/libb.a/b.o -msym -soname libcee.so.0 `test -n "0.0.0:0.0" && print -r "X-set_version 0.0.0:0.0" | /usr/bin/sed -e 1s/^X//` -update_registry .libs/so_locations -o .libs/libcee.so.0.0.0 /usr/bin/cc -v -shared -Wl,-expect_unresolved -Wl,* .libs/c.o .libs/libcee.lax/liba.a/a.o .libs/libcee.lax/libb.a/b.o -msym -soname libcee.so.0 -set_version 0.0.0:0.0 -update_registry .libs/so_locations -o .libs/libcee.so.0.0.0 -O4 -qlshpf -lUfor -lfor -lFutil -lm -lots -lm_c32 -lmld -lexc /usr/lib/cmplrs/cc.dtk/ld -o .libs/libcee.so.0.0.0 -expect_unresolved * -msym -soname libcee.so.0 -set_version 0.0.0:0.0 -update_registry .libs/so_locations -g0 -O4 -shared .libs/c.o .libs/libcee.lax/liba.a/a.o .libs/libcee.lax/libb.a/b.o -qlshpf -lUfor -lfor -lFutil -lm -lots -lm_c32 -lmld -lexc -lc /usr/lib/cmplrs/cc.dtk/ld: 0.03u 0.03s 0:00 35% 0+10k 11+21io 0pf+0w 10stk+1800mem > This suggests that it should be possible to write archive_cmds (and > possibly archive_expsyms_cmds) in libltdl/m4/libtool.m4:_LT_LINKER_SHLIBS > like a mixture of the $GCC and the non-$GCC case, using $cc_basename and > $GCC as decision criteria. Would you be willing to work on this? I'll try, even if i'm not a fortran programmer myself. > Should I create a preliminary patch you could test? Yes, please. > Is there also a `f90' available on this platform? f90 - invokes the Compaq Fortran 90 (formerly DIGITAL Fortran 90) compiler f95 - invokes the Compaq Fortran 95 (formerly DIGITAL Fortran 95) compiler f77 - invokes the Compaq Fortran 90 (formerly DIGITAL Fortran 90) compiler f77 -old_f77 - invokes the Compaq Fortran 77 (formerly DIGITAL Fortran 77) compiler > > uname -m = alpha > > uname -r = V5.1 > > uname -s = OSF1 > > uname -v = 2650 > > > Failed tests: > > libtool 2.1a test suite test groups: > > > > NUM: FILE-NAME:LINE TEST-GROUP-NAME > > KEYWORDS > > > > 4: libtoolize.at:287 copy ltdl.m4 with shared macro directory > > 9: convenience.at:74 F77 convenience archives > > F77 > > 10: convenience.at:116 FC convenience archives > > FC > > > > # -*- compilation -*- > > 9. convenience.at:74: testing ... > > ./convenience.at:75: test -n "$F77" || (exit 77) > > > libtool: link: creating libb.la > > libtool: link: ( cd ".libs" && rm -f "libb.la" && ln -s "../libb.la" > > "libb.la" ) > > libtool: link: (cd .libs/libcee.lax/liba.a && ar x > > /home/njoly/temp/libtool/tests/testsuite.dir/9/./.libs/liba.a) > > libtool: link: (cd .libs/libcee.lax/libb.a && ar x > > /home/njoly/temp/libtool/tests/testsuite.dir/9/./.libs/libb.a) > > libtool: link: f77 -shared -expect_unresolved \* .libs/c.o > > .libs/libcee.lax/liba.a/a.o .libs/libcee.lax/libb.a/b.o -msym > > -soname libcee.so.0 `test -n "0.0.0:0.0" && print -r "X-set_version > > 0.0.0:0.0" | /usr/bin/sed -e 1s/^X//` -update_registry .libs/so_locations > > -o .libs/libcee.so.0.0.0 > > f77: Severe: Invalid file name - must be of the form name.suffix : * > > ./convenience.at:108: $LIBTOOL --tag=F77 --mode=link $F77 $FFLAGS $LDFLAGS > > -static -o main_static main.lo libcee.la > > stderr: > > libtool: link: cannot find the library `libcee.la' or unhandled argument > > `libcee.la' > > stdout: > > ./convenience.at:108: exit code was 1, expected 0 > > 9. convenience.at:74: 9. F77 convenience archives (convenience.at:74): > > FAILED (convenience.at:108) > > > > # -*- compilation -*- > > 10. convenience.at:116: testing ... > > ./convenience.at:117: test -n "$FC" || (exit 77) > > libtool: compile: f95 -c -g a.f -o .libs/a.o > > libtool: compile: f95 -c -g a.f -o a.o >/dev/null 2>&1 > > libtool: compile: f95 -c -g b.f -o .libs/b.o > > libtool: compile: f95 -c -g b.f -o b.o >/dev/null 2>&1 > > libtool: compile: f95 -c -g c.f -o .libs/c.o > > libtool: compile: f95 -c -g c.f -o c.o >/dev/null 2>&1 > > libtool: compile: f95 -c -g main.f -o .libs/main.o > > libtool: compile: f95 -c -g main.f -o main.o >/dev/null 2>&1 > > libtool: link: ar cru .libs/liba.a .libs/a.o > > libtool: link: ranlib .libs/liba.a > > libtool: link: creating liba.la > > libtool: link: ( cd ".libs" && rm -f "liba.la" && ln -s "../liba.la" > > "liba.la" ) > > libtool: link: ar cru .libs/libb.a .libs/b.o > > libtool: link: ranlib .libs/libb.a > > libtool: link: creating libb.la > > libtool: link: ( cd ".libs" && rm -f "libb.la" && ln -s "../libb.la" > > "libb.la" ) > > libtool: link: (cd .libs/libcee.lax/liba.a && ar x > > /home/njoly/temp/libtool/tests/testsuite.dir/10/./.libs/liba.a) > > libtool: link: (cd .libs/libcee.lax/libb.a && ar x > > /home/njoly/temp/libtool/tests/testsuite.dir/10/./.libs/libb.a) > > libtool: link: f95 -shared -expect_unresolved \* .libs/c.o > > .libs/libcee.lax/liba.a/a.o .libs/libcee.lax/libb.a/b.o -msym > > -soname libcee.so.0 `test -n "0.0.0:0.0" && print -r "X-set_version > > 0.0.0:0.0" | /usr/bin/sed -e 1s/^X//` -update_registry .libs/so_locations > > -o .libs/libcee.so.0.0.0 > > f95: Severe: Invalid file name - must be of the form name.suffix : * > > ./convenience.at:150: $LIBTOOL --tag=FC --mode=link $FC $FCFLAGS $LDFLAGS > > -static -o main_static main.lo libcee.la > > stderr: > > libtool: link: cannot find the library `libcee.la' or unhandled argument > > `libcee.la' > > stdout: > > ./convenience.at:150: exit code was 1, expected 0 > > 10. convenience.at:116: 10. FC convenience archives (convenience.at:116): > > FAILED (convenience.at:150) > > > > > > ## ------------- ## > > ## ../config.log ## > > ## ------------- ## > > > > | configure:16498: checking if libtool supports shared libraries > > | configure:16500: result: yes > > | configure:16503: checking whether to build shared libraries > > | configure:16523: result: yes > > | configure:16526: checking whether to build static libraries > > | configure:16530: result: yes > > | configure:16546: checking for f77 option to produce PIC > > | configure:16773: result: > > | configure:16837: checking if f77 static flag -non_shared works > > | configure:16865: result: yes > > | configure:16877: checking if f77 supports -c -o file.o > > | configure:16898: f77 -c -g -o out/conftest2.o conftest.f >&5 > > | configure:16902: $? = 0 > > | configure:16924: result: yes > > | configure:16929: checking if f77 supports -c -o file.o > > | configure:16976: result: yes > > | configure:17006: checking whether the f77 linker (/usr/bin/ld) supports > > shared libraries > > | configure:17971: result: yes > > | configure:18110: checking dynamic linker characteristics > > | configure:18684: result: osf5.1b ld.so > > | configure:18720: checking how to hardcode library paths into programs > > | configure:18745: result: immediate > > | configure:18763: checking whether stripping libraries is possible > > | configure:18785: result: no > > > > | configure:19037: result: yes > > | configure:19159: checking if libtool supports shared libraries > > | configure:19161: result: yes > > | configure:19164: checking whether to build shared libraries > > | configure:19184: result: yes > > | configure:19187: checking whether to build static libraries > > | configure:19191: result: yes > > | configure:19219: f95 -c -g conftest.f >&5 > > | configure:19222: $? = 0 > > | configure:19331: checking for f95 option to produce PIC > > | configure:19558: result: > > | configure:19622: checking if f95 static flag -non_shared works > > | configure:19650: result: yes > > | configure:19662: checking if f95 supports -c -o file.o > > | configure:19683: f95 -c -g -o out/conftest2.o conftest.f >&5 > > | configure:19687: $? = 0 > > | configure:19709: result: yes > > | configure:19714: checking if f95 supports -c -o file.o > > | configure:19761: result: yes > > | configure:19791: checking whether the f95 linker (/usr/bin/ld) supports > > shared libraries > > | configure:20756: result: yes > > | configure:20895: checking dynamic linker characteristics > > | configure:21469: result: osf5.1b ld.so > > | configure:21505: checking how to hardcode library paths into programs > > | configure:21530: result: immediate > > | configure:21548: checking whether stripping libraries is possible > > | configure:21570: result: no -- Nicolas Joly Biological Software and Databanks. Institut Pasteur, Paris.