libtool
[Top][All Lists]
Advanced

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

Re: Support for creating shared C++ libraries on BeOS


From: Ralf Wildenhues
Subject: Re: Support for creating shared C++ libraries on BeOS
Date: Thu, 13 Oct 2005 17:46:22 +0200
User-agent: Mutt/1.5.11

Hi Christian,

* Christian Biesinger wrote on Sun, Oct 09, 2005 at 10:15:02PM CEST:
> Ralf Wildenhues wrote:
> >Also, we love to see testsuite output.. ;-)
> 
> And here, the log of make test for HEAD. 5 tests failed... most with 
> "invalid loader". Something wrong with libltdl?

Confirmed.

To reproduce on systems that do not need_lib_prefix:
  configure
  $EDITOR ./libtool  # set need_lib_prefix=unknown
  make check TESTS='tests/mdemo-static.test tests/mdemo-make.test
                    tests/mdemo-exec.test'

results in the "invalid loader" showing up in the logs (see at end).
Presumably because the preopen loader (at least) ignores the needed
"lib" prefix.


By the way: does BeOS need the "lib" prefix for modules at all?
To test a hypothetical "no" answer, I think this should work:
  configure
  $EDITOR ./libtool  # set need_lib_prefix=no
  make check TESTS='tests/mdemo-shared.test'
  $EDITOR tests/mdemo/libtool  # set need_lib_prefix=no
  make check TESTS='tests/mdemo-make.test tests/mdemo-exec.test'

I guess both of these issues eventually need tests as well..

By the way 2: what about config.log and the result new HEAD
testsuite?  Even if all the ltdl tests fail, the others are
still still valuable.  (Surely it'd be good to rerun the ltdl
tests when a fix for this particular issue is applied.)

Cheers,
Ralf

| mdemo-static.test: ===  Running mdemo-static.test
| mdemo-static.test: ===  Configuring in mdemo
| mdemo-static.test: ===  /bin/sh 
/boot/home/Software/lt-HEAD/tests/mdemo/configure 
--srcdir=/boot/home/Software/lt-HEAD/tests/mdemo 
--prefix=/boot/home/Software/lt-HEAD/_inst
*snip*

| (cd ../..; /bin/make `echo ./../../libltdl/libltdlc.la | sed 
's,.*\.\./libltdl/,libltdl/,g'`)
| make[5]: Entering directory `/boot/home/Software/lt-HEAD'
| source='libltdl/loaders/preopen.c' 
object='libltdl/loaders/libltdl_libltdlc_la-preopen.lo' libtool=yes \
*snip*

| /bin/sh ./libtool --tag=CC --mode=link gcc  -g -O2 -no-undefined  -o 
libltdl/libltdlc.la  -no-undefined -dlpreopen libltdl/dlopen.la -dlpreopen 
libltdl/load_add_on.la  libltdl/loaders/libltdl_libltdlc_la-preopen.lo 
libltdl/libltdl_libltdlc_la-lt__alloc.lo 
libltdl/libltdl_libltdlc_la-lt_dlloader.lo 
libltdl/libltdl_libltdlc_la-lt_error.lo libltdl/libltdl_libltdlc_la-ltdl.lo 
libltdl/libltdl_libltdlc_la-slist.lo libltdl/argz.lo 
| libtool: link: rm -f libltdl/.libs/libltdlc.nm libltdl/.libs/libltdlc.nmS 
libltdl/.libs/libltdlc.nmT
| libtool: link: creating libltdl/.libs/libltdlcS.c
| libtool: link: extracting global C symbols from `libltdl/.libs/libdlopen.a'
| libtool: link: extracting global C symbols from 
`libltdl/.libs/libload_add_on.a'
| libtool: link: (cd libltdl/.libs && gcc -g -O2 -c -fno-builtin -fno-rtti 
-fno-exceptions  -DPIC "libltdlcS.c")
| libtool: link: rm -f "libltdl/.libs/libltdlcS.c" "libltdl/.libs/libltdlc.nm" 
"libltdl/.libs/libltdlc.nmS" "libltdl/.libs/libltdlc.nmT"
| libtool: link: (cd libltdl/.libs/libltdlc.lax/libdlopen.a && ar x 
/boot/home/Software/lt-HEAD/libltdl/.libs/libdlopen.a)
| libtool: link: (cd libltdl/.libs/libltdlc.lax/libload_add_on.a && ar x 
/boot/home/Software/lt-HEAD/libltdl/.libs/libload_add_on.a)
| libtool: link: ar cru libltdl/.libs/libltdlc.a 
libltdl/loaders/.libs/libltdl_libltdlc_la-preopen.o 
libltdl/.libs/libltdl_libltdlc_la-lt__alloc.o 
libltdl/.libs/libltdl_libltdlc_la-lt_dlloader.o 
libltdl/.libs/libltdl_libltdlc_la-lt_error.o 
libltdl/.libs/libltdl_libltdlc_la-ltdl.o 
libltdl/.libs/libltdl_libltdlc_la-slist.o libltdl/.libs/argz.o 
libltdl/.libs/libltdlcS.o  libltdl/.libs/libltdlc.lax/libdlopen.a/dlopen.o  
libltdl/.libs/libltdlc.lax/libload_add_on.a/load_add_on.o 
| libtool: link: ranlib libltdl/.libs/libltdlc.a
| libtool: link: rm -fr libltdl/.libs/libltdlc.lax
| libtool: link: creating libltdl/libltdlc.la
| libtool: link: ( cd "libltdl/.libs" && rm -f "libltdlc.la" && ln -s 
"../libltdlc.la" "libltdlc.la" )
| make[5]: Leaving directory `/boot/home/Software/lt-HEAD'
*snip*
| mdemo-exec.test: ===  Running mdemo-exec.test
| mdemo-exec.test: ===  Executing uninstalled programs in 
| error during initialization: invalid loader
| Welcome to GNU libtool mdemo!
| mdemo-exec.test: ./tests/mdemo-exec.test: cannot execute 
tests/mdemo/mdemo_static tests/mdemo/foo1.la tests/mdemo/libfoo2.la 
| error during initialization: invalid loader
| Welcome to GNU libtool mdemo!
| mdemo-exec.test: ./tests/mdemo-exec.test: cannot execute tests/mdemo/mdemo 
tests/mdemo/foo1.la tests/mdemo/libfoo2.la 
| FAIL: tests/mdemo-exec.test




reply via email to

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