#66 GNU libtool testsuite failure 117
Closed 2 months ago by orbea. Opened 2 months ago by orbea.

OS: Gentoo
slibtool: 5cfb110
GNU libtool: 2.4.7

After implementing -dlpreopen it become possible to run the GNU libtool testsuite using slibtool. Some of these seem like slibtool bugs.

117: dynamically ltdl preload static modules         FAILED (mdemo.at:631)
rdclibtool --tag=CC --mode=link gcc -g -O2 -no-undefined -dlpreopen libltdl/dlopen.la -o libltdl/libltdlc.la libltdl/loaders/libltdlc_la-preopen.lo libltdl/libltdlc_la-lt__alloc.lo libltdl/libltdlc_la-lt_dlloader.lo libltdl/libltdlc_la-lt_error.lo libltdl/libltdlc_la-ltdl.lo libltdl/libltdlc_la-slist.lo libltdl/lt__argz.lo

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: link: ln -s libltdlc.so.def libltdl/.libs/libltdlc.so.def.linux
rdclibtool: link: ln -s libltdlc.so.def.linux libltdl/.libs/libltdlc.so.def.host
rdclibtool: link: ar -crs libltdl/.libs/libltdlc.expsyms.a libltdl/loaders/.libs/libltdlc_la-preopen.o libltdl/.libs/libltdlc_la-lt__alloc.o libltdl/.libs/libltdlc_la-lt_dlloader.o libltdl/.libs/libltdlc_la-lt_error.o libltdl/.libs/libltdlc_la-ltdl.o libltdl/.libs/libltdlc_la-slist.o libltdl/.libs/lt__argz.o
ar: libltdl/loaders/.libs/libltdlc_la-preopen.o: No such file or directory
rdclibtool: error logged in slbt_exec_link_create_expsyms_archive(), line 676: flow error: unexpected condition or other.
rdclibtool: < returned to > slbt_exec_link_finalize_argument_vector(), line 946.
rdclibtool: < returned to > slbt_exec_link_create_library(), line 342.
rdclibtool: < returned to > slbt_exec_link_create_archive(), line 77.
rdclibtool: < returned to > slbt_exec_link(), line 262.
make[1]: *** [Makefile:790: libltdl/libltdlc.la] Error 2
make[1]: Leaving directory '/tmp/libtool-2.4.7/tests/testsuite.dir/117'
make: *** [Makefile:599: all] Error 2
$ find -type d -name '\.libs'
./libltdl/.libs
libltdl/.libs/
├── dlopen.a
├── dlopen.a.nm
├── dlopen.a.slibtool.deps
├── dlopen.la -> ../dlopen.la
├── dlopen.so.def -> /dev/null
├── dlopen.so.def.host -> dlopen.so.def.linux
├── dlopen.so.def.linux -> dlopen.so.def
├── dlopen.so.disabled -> /dev/null
├── libltdlc.dlopen.c
├── libltdlc.so.def.host -> libltdlc.so.def.linux
└── libltdlc.so.def.linux -> libltdlc.so.def
test -z "libltdl/libltdl.la libltdl/libltdlc.la libltdl/libdlloader.la libltdl/lt__argz.o libltdl/lt__argz.lo" || rm -f libltdl/libltdl.la libltdl/libltdlc.la libltdl/libdlloader.la libltdl/lt__argz.o libltdl/lt__argz.lo
test -z "libsub.la foo1.la libfoo2.la libmlib.la " || rm -f libsub.la foo1.la libfoo2.la libmlib.la 
rm -rf .libs _libs
 rm -f mdemo mdemo_static
rm -rf libltdl/.libs libltdl/_libs
test -z "libltdl/dlopen.la libltdl/libltdlc.la" || rm -f libltdl/dlopen.la libltdl/libltdlc.la
rm -rf libltdl/loaders/.libs libltdl/loaders/_libs
rm -f *.o
test -z "libltdl/libltdl/lt__argz.h libltdl/libltdl/lt__argz.h-t" || rm -f libltdl/libltdl/lt__argz.h libltdl/libltdl/lt__argz.h-t
rm -f libltdl/*.o
rm -f ./so_locations
rm -f libltdl/*.lo
rm -f *.lo
rm -f libltdl/loaders/*.o
rm -f libltdl/so_locations
rm -f libltdl/loaders/*.lo
/bin/sh /tmp/libtool-2.4.7/tests/testsuite.dir/117/build-aux/install-sh -d . libltdl/libltdl
cp ./libltdl/libltdl/lt__argz_.h libltdl/libltdl/lt__argz.h-t
mv libltdl/libltdl/lt__argz.h-t libltdl/libltdl/lt__argz.h
make LIBTOOL=rdclibtool V=1  all-am
make[1]: Entering directory '/tmp/libtool-2.4.7/tests/testsuite.dir/117'
gcc -DHAVE_CONFIG_H -I.  -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o main.o main.c
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/loaders/libltdlc_la-preopen.lo `test -f 'libltdl/loaders/preopen.c' || echo './'`libltdl/loaders/preopen.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/loaders/libltdlc_la-preopen.lo libltdl/loaders/preopen.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLTDLOPEN=libltdlc -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/loaders/preopen.c -o libltdl/loaders/libltdlc_la-preopen.o
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/libltdlc_la-lt__alloc.lo `test -f 'libltdl/lt__alloc.c' || echo './'`libltdl/lt__alloc.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/libltdlc_la-lt__alloc.lo libltdl/lt__alloc.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLTDLOPEN=libltdlc -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/lt__alloc.c -o libltdl/libltdlc_la-lt__alloc.o
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/libltdlc_la-lt_dlloader.lo `test -f 'libltdl/lt_dlloader.c' || echo './'`libltdl/lt_dlloader.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/libltdlc_la-lt_dlloader.lo libltdl/lt_dlloader.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLTDLOPEN=libltdlc -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/lt_dlloader.c -o libltdl/libltdlc_la-lt_dlloader.o
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/libltdlc_la-lt_error.lo `test -f 'libltdl/lt_error.c' || echo './'`libltdl/lt_error.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/libltdlc_la-lt_error.lo libltdl/lt_error.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLTDLOPEN=libltdlc -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/lt_error.c -o libltdl/libltdlc_la-lt_error.o
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/libltdlc_la-ltdl.lo `test -f 'libltdl/ltdl.c' || echo './'`libltdl/ltdl.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/libltdlc_la-ltdl.lo libltdl/ltdl.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLTDLOPEN=libltdlc -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/ltdl.c -o libltdl/libltdlc_la-ltdl.o
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/libltdlc_la-slist.lo `test -f 'libltdl/slist.c' || echo './'`libltdl/slist.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/libltdlc_la-slist.lo libltdl/slist.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLTDLOPEN=libltdlc -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/slist.c -o libltdl/libltdlc_la-slist.o
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/loaders/dlopen.lo libltdl/loaders/dlopen.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/loaders/dlopen.lo libltdl/loaders/dlopen.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/loaders/dlopen.c -o libltdl/loaders/dlopen.o
rdclibtool  --tag=CC   --mode=link gcc  -g -O2 -module -avoid-version  -o libltdl/dlopen.la  libltdl/loaders/dlopen.lo  



rdclibtool --tag=CC --mode=link gcc -g -O2 -module -avoid-version -o libltdl/dlopen.la libltdl/loaders/dlopen.lo

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: link: ln -s dlopen.so.def libltdl/.libs/dlopen.so.def.linux
rdclibtool: link: ln -s dlopen.so.def.linux libltdl/.libs/dlopen.so.def.host
rdclibtool: link: ar -crs libltdl/.libs/dlopen.a libltdl/loaders/dlopen.o
rdclibtool: link: ln -s /dev/null libltdl/.libs/dlopen.so.def
rdclibtool: link: ln -s /dev/null libltdl/.libs/dlopen.so.disabled
rdclibtool: link: ln -s ../dlopen.la libltdl/.libs/dlopen.la
rdclibtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.  -I./libltdl -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl   -g -O2 -c -o libltdl/lt__argz.lo libltdl/lt__argz.c



rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I./libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I. -Ilibltdl -I./libltdl -Ilibltdl/libltdl -I./libltdl/libltdl -g -O2 -c -o libltdl/lt__argz.lo libltdl/lt__argz.c

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: compile: gcc -I. -I./libltdl -Ilibltdl -Ilibltdl/libltdl -I./libltdl/libltdl -DHAVE_CONFIG_H -DLT_CONFIG_H=<config.h> -DLTDL -g -O2 -c libltdl/lt__argz.c -o libltdl/lt__argz.o
rdclibtool  --tag=CC   --mode=link gcc  -g -O2 -no-undefined -dlpreopen libltdl/dlopen.la   -o libltdl/libltdlc.la  libltdl/loaders/libltdlc_la-preopen.lo libltdl/libltdlc_la-lt__alloc.lo libltdl/libltdlc_la-lt_dlloader.lo libltdl/libltdlc_la-lt_error.lo libltdl/libltdlc_la-ltdl.lo libltdl/libltdlc_la-slist.lo libltdl/lt__argz.lo 



rdclibtool --tag=CC --mode=link gcc -g -O2 -no-undefined -dlpreopen libltdl/dlopen.la -o libltdl/libltdlc.la libltdl/loaders/libltdlc_la-preopen.lo libltdl/libltdlc_la-lt__alloc.lo libltdl/libltdlc_la-lt_dlloader.lo libltdl/libltdlc_la-lt_error.lo libltdl/libltdlc_la-ltdl.lo libltdl/libltdlc_la-slist.lo libltdl/lt__argz.lo

rdclibtool: lconf: {.name="libtool"}.
rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/117"}.
rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 425204}.
rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3.
rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/117/libtool".
rdclibtool: link: ln -s libltdlc.so.def libltdl/.libs/libltdlc.so.def.linux
rdclibtool: link: ln -s libltdlc.so.def.linux libltdl/.libs/libltdlc.so.def.host
rdclibtool: link: ar -crs libltdl/.libs/libltdlc.expsyms.a libltdl/loaders/.libs/libltdlc_la-preopen.o libltdl/.libs/libltdlc_la-lt__alloc.o libltdl/.libs/libltdlc_la-lt_dlloader.o libltdl/.libs/libltdlc_la-lt_error.o libltdl/.libs/libltdlc_la-ltdl.o libltdl/.libs/libltdlc_la-slist.o libltdl/.libs/lt__argz.o
ar: libltdl/loaders/.libs/libltdlc_la-preopen.o: No such file or directory
rdclibtool: error logged in slbt_exec_link_create_expsyms_archive(), line 676: flow error: unexpected condition or other.
rdclibtool: < returned to > slbt_exec_link_finalize_argument_vector(), line 946.
rdclibtool: < returned to > slbt_exec_link_create_library(), line 342.
rdclibtool: < returned to > slbt_exec_link_create_archive(), line 77.
rdclibtool: < returned to > slbt_exec_link(), line 262.
make[1]: *** [Makefile:790: libltdl/libltdlc.la] Error 2
make[1]: Leaving directory '/tmp/libtool-2.4.7/tests/testsuite.dir/117'
make: *** [Makefile:599: all] Error 2

Fixed as of commit e2b5823.

Metadata Update from @orbea:
- Issue status updated to: Closed (was: Open)

2 months ago

Login to comment on this ticket.

Metadata