OS: Gentoo slibtool: 5cfb110 GNU libtool: 2.4.7
Gentoo
2.4.7
After implementing -dlpreopen it become possible to run the GNU libtool testsuite using slibtool. Some of these seem like slibtool bugs.
-dlpreopen
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
Gentoo issue: https://bugs.gentoo.org/926365
Fixed as of commit e2b5823.
Metadata Update from @orbea: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.