On 06/17/2010 10:21 PM, Charles Wilson wrote:
On 6/17/2010 10:24 PM, Peter O'Gorman wrote:
Unfortunately, this doesn't magically assist solving my problem with
71. dlloader-api.at:23: FAILED (dlloader-api.at:422)
but that's not a reason to object to the patch.
Well that sucks :(
I suggest changing the LT__SETERROR macro in
libltdl/libltdl/lt__private.h to print __FILE__ and __LINE__ etc. if
errorcode == FILE_NOT_FOUND, then running test 71 again. It doesn't look
like it's happening in loadlibrary.c.
../libtool/libltdl/loaders/preopen.c (188)
../libtool/libltdl/loaders/preopen.c (188)
../libtool/libltdl/loaders/preopen.c (188)
Hmm. Adding more debug output to preopen.c:vm_open ...
Searching for preloaded symbol table for dlopen.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
oops, bailing at line 183
Searching for preloaded symbol table for loadlibrary.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for loadlibrary.a
oops, bailing at line 183
Searching for preloaded symbol table for first.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for loadlibrary.a
Found preloaded symbol table for loadlibrary_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for module.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for loadlibrary.a
Found preloaded symbol table for loadlibrary_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for last.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for loadlibrary.a
Found preloaded symbol table for loadlibrary_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for /usr/bin/last
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for loadlibrary.a
Found preloaded symbol table for loadlibrary_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
Err...why is it looking for a module named "/usr/bin/last"? Is it
somehow using a $PATH search, and matching "last" to
"/usr/bin/last.exe"? cygwin's dlopen does do some funky things with
$PATH, because that's how windows looks for DLLs -- but we're in
preopen, here...
Peter, can you try the attached patch "on top of" your mods, on some
platform OTHER than cygwin, and tell me what output you get?
Got this on fedora 13.
Peter
# -*- compilation -*-
72. dlloader-api.at:23: testing ...
++ cat
++ cat
++ cat
++ case $host_os in
++ : -I/home/pogma/gitco/cw/../libtool/libltdl
++ : /home/pogma/gitco/cw/tests/../libltdl/libltdlc.la
++ set +x
../../libtool/tests/dlloader-api.at:400: case $LIBLTDL in #(
*/_inst/lib/*) test -f $LIBLTDL || (exit 77) ;;
esac
Not enabling shell tracing (command contains an embedded newline)
stdout:
++ CPPFLAGS='-I/home/pogma/gitco/cw/../libtool/libltdl '
++ set +x
../../libtool/tests/dlloader-api.at:406: $LIBTOOL --mode=compile $CC $CPPFLAGS
$CFLAGS -c module.c
++ /home/pogma/gitco/cw/libtool --mode=compile gcc
-I/home/pogma/gitco/cw/../libtool/libltdl -g -O2 -c module.c
stderr:
stdout:
libtool: compile: gcc -I/home/pogma/gitco/cw/../libtool/libltdl -g -O2 -c
module.c -fPIC -DPIC -o .libs/module.o
libtool: compile: gcc -I/home/pogma/gitco/cw/../libtool/libltdl -g -O2 -c
module.c -o module.o >/dev/null 2>&1
++ set +x
../../libtool/tests/dlloader-api.at:408: $LIBTOOL --mode=link $CC $CFLAGS
$LDFLAGS -o module.la -rpath /nowhere -module -avoid-version
-no-undefined module.lo
++ /home/pogma/gitco/cw/libtool --mode=link gcc -g -O2 -o module.la -rpath
/nowhere -module -avoid-version -no-undefined module.lo
stderr:
stdout:
libtool: link: gcc -shared .libs/module.o -Wl,-soname -Wl,module.so -o
.libs/module.so
libtool: link: ar cru .libs/module.a module.o
libtool: link: ranlib .libs/module.a
libtool: link: ( cd ".libs" && rm -f "module.la" && ln -s "../module.la"
"module.la" )
++ . ./module.la
+++ dlname=module.so
+++ library_names='module.so module.so module.so'
+++ old_library=module.a
+++ inherited_linker_flags=
+++ dependency_libs=
+++ weak_library_names=
+++ current=0
+++ age=0
+++ revision=0
+++ installed=no
+++ shouldnotlink=yes
+++ dlopen=
+++ dlpreopen=
+++ libdir=/nowhere
++ set +x
../../libtool/tests/dlloader-api.at:415: test -n "$dlname" || (exit 77)
++ test -n module.so
++ set +x
../../libtool/tests/dlloader-api.at:417: $CC $CPPFLAGS $CFLAGS -c main.c
++ gcc -I/home/pogma/gitco/cw/../libtool/libltdl -g -O2 -c main.c
stderr:
stdout:
++ set +x
../../libtool/tests/dlloader-api.at:418: $LIBTOOL --mode=link $CC $CFLAGS
$LDFLAGS -o main$EXEEXT main.$OBJEXT -dlopen module.la $LIBLTDL
++ /home/pogma/gitco/cw/libtool --mode=link gcc -g -O2 -o main main.o -dlopen
module.la /home/pogma/gitco/cw/tests/../libltdl/libltdlc.la
stderr:
stdout:
libtool: link: rm -f .libs/main.nm .libs/main.nmS .libs/main.nmT
libtool: link: (cd .libs && gcc -g -O2 -c -fno-builtin "mainS.c")
libtool: link: rm -f ".libs/mainS.c" ".libs/main.nm" ".libs/main.nmS"
".libs/main.nmT"
libtool: link: gcc -g -O2 -o main main.o .libs/mainS.o
/home/pogma/gitco/cw/libltdl/.libs/dlopen.a
/home/pogma/gitco/cw/tests/../libltdl/.libs/libltdlc.a -ldl
libtool: link: rm -f ".libs/mainS.o"
++ lt_exe=./main
++ test -f ./main
++ lt_exe=./main
++ set +x
../../libtool/tests/dlloader-api.at:422: if "$lt_exe" ; then :; else
lt_status=$?; test "X$host" != "X$build" && test -x "$lt_exe"
&& exit 77; exit $lt_status; fi
++ ./main
++ :
stderr:
Searching for preloaded symbol table for dlopen.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
oops, bailing at line 183
Searching for preloaded symbol table for first.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for module.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for last.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for last
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
Searching for preloaded symbol table for no_module.a
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
../libtool/libltdl/loaders/preopen.c (191)
Searching for preloaded symbol table for no-module
Found preloaded symbol table for libltdlc
Found preloaded symbol table for dlopen.a
Found preloaded symbol table for dlopen_LTX_get_vtable
Found preloaded symbol table for @PROGRAM@
++ set +x
72. dlloader-api.at:23: 72. dlloader API (dlloader-api.at:23): ok (0m0.358s
0m0.215s)