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
28: build and dynamically load a module FAILED (demo.at:407)
rdclibtool --tag=CC --mode=link gcc -g -O2 -export-dynamic -dlpreopen libhello.la -o helldl dlmain.o rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: error logged in slbt_fs_map_input(), line 37: path not found: .libs/libhello.a. rdclibtool: < returned to > slbt_map_raw_archive(), line 27. rdclibtool: < returned to > slbt_ar_get_archive_ctx(), line 81. rdclibtool: < returned to > slbt_ectx_get_exec_ctx(), line 628. rdclibtool: < returned to > slbt_exec_link(), line 155. make[1]: *** [Makefile:565: helldl] Error 2 make[1]: Leaving directory '/tmp/libtool-2.4.7/tests/testsuite.dir/028' make: *** [Makefile:414: all] Error 2
.libs/ ├── hell ├── hell.exe.wrapper -> ../hell ├── hell_static ├── hell_static.exe.wrapper -> ../hell_static ├── libhello.a.disabled -> /dev/null ├── libhello.exp ├── libhello.expsyms.a ├── libhello.la -> ../libhello.la ├── libhello.lai -> ../libhello.la ├── libhello.so -> libhello.so.2.1.12 ├── libhello.so.2 -> libhello.so.2.1.12 ├── libhello.so.2.1.12 ├── libhello.so.def -> /dev/null ├── libhello.so.def.host -> libhello.so.def.linux ├── libhello.so.def.linux -> libhello.so.def ├── libhello.so.slibtool.deps ├── libhello.so.slibtool.rpath -> /tmp/libtool-2.4.7/tests/testsuite.dir/028/_inst/lib ├── libhello_la-foo.o └── libhello_la-hello.o
rm -f hell hell_static helldl test -z "libhello.la" || rm -f libhello.la rm -f ./so_locations rm -rf .libs _libs rm -f *.o rm -f *.lo make LIBTOOL=rdclibtool V=1 all-am make[1]: Entering directory '/tmp/libtool-2.4.7/tests/testsuite.dir/028' gcc -DHAVE_CONFIG_H -I. -g -O2 -c -o main.o main.c rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DBUILDING_LIBHELLO -g -O2 -c -o libhello_la-hello.lo `test -f 'hello.c' || echo './'`hello.c rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DBUILDING_LIBHELLO -g -O2 -c -o libhello_la-hello.lo hello.c rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: compile: gcc -I. -DHAVE_CONFIG_H -DBUILDING_LIBHELLO -g -O2 -c hello.c -DPIC -fPIC -o .libs/libhello_la-hello.o rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DBUILDING_LIBHELLO -g -O2 -c -o libhello_la-foo.lo `test -f 'foo.c' || echo './'`foo.c rdclibtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DBUILDING_LIBHELLO -g -O2 -c -o libhello_la-foo.lo foo.c rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: compile: gcc -I. -DHAVE_CONFIG_H -DBUILDING_LIBHELLO -g -O2 -c foo.c -DPIC -fPIC -o .libs/libhello_la-foo.o rdclibtool --tag=CC --mode=link gcc -g -O2 -no-undefined -version-info 3:12:1 -o libhello.la -rpath /tmp/libtool-2.4.7/tests/testsuite.dir/028/_inst/lib libhello_la-hello.lo libhello_la-foo.lo -lm rdclibtool --tag=CC --mode=link gcc -g -O2 -no-undefined -version-info 3:12:1 -o libhello.la -rpath /tmp/libtool-2.4.7/tests/testsuite.dir/028/_inst/lib libhello_la-hello.lo libhello_la-foo.lo -lm rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: link: ln -s libhello.so.def .libs/libhello.so.def.linux rdclibtool: link: ln -s libhello.so.def.linux .libs/libhello.so.def.host rdclibtool: link: ln -s /dev/null .libs/libhello.a.disabled rdclibtool: link: ln -s /tmp/libtool-2.4.7/tests/testsuite.dir/028/_inst/lib .libs/libhello.so.slibtool.rpath rdclibtool: link: ar -crs .libs/libhello.expsyms.a .libs/libhello_la-hello.o .libs/libhello_la-foo.o rdclibtool: link: gcc .libs/libhello_la-hello.o .libs/libhello_la-foo.o -g -O2 -lm -shared -fPIC -Wl,--no-undefined -Wl,-soname -Wl,libhello.so.2 -o .libs/libhello.so.2.1.12 rdclibtool: link: ln -s libhello.so.2.1.12 .libs/libhello.so.2 rdclibtool: link: ln -s libhello.so.2.1.12 .libs/libhello.so rdclibtool: link: ln -s /dev/null .libs/libhello.so.def rdclibtool: link: ln -s ../libhello.la .libs/libhello.la rdclibtool: link: ln -s ../libhello.la .libs/libhello.lai rdclibtool --tag=CC --mode=link gcc -g -O2 -o hell main.o libhello.la rdclibtool --tag=CC --mode=link gcc -g -O2 -o hell main.o libhello.la rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: link: gcc main.o -g -O2 -Wl,-rpath -Wl,/tmp/libtool-2.4.7/tests/testsuite.dir/028/_inst/lib -L.libs -lhello -lm -o .libs/hell rdclibtool: link: ln -s ../hell .libs/hell.exe.wrapper rdclibtool --tag=CC --mode=link gcc -g -O2 -o hell_static main.o libhello.la rdclibtool --tag=CC --mode=link gcc -g -O2 -o hell_static main.o libhello.la rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: link: gcc main.o -g -O2 -Wl,-rpath -Wl,/tmp/libtool-2.4.7/tests/testsuite.dir/028/_inst/lib -L.libs -lhello -lm -o .libs/hell_static rdclibtool: link: ln -s ../hell_static .libs/hell_static.exe.wrapper gcc -DHAVE_CONFIG_H -I. -g -O2 -c -o dlmain.o dlmain.c rdclibtool --tag=CC --mode=link gcc -g -O2 -export-dynamic -dlpreopen libhello.la -o helldl dlmain.o rdclibtool --tag=CC --mode=link gcc -g -O2 -export-dynamic -dlpreopen libhello.la -o helldl dlmain.o rdclibtool: lconf: {.name="libtool"}. rdclibtool: fdcwd: {.fdcwd=AT_FDCWD, .realpath="/tmp/libtool-2.4.7/tests/testsuite.dir/028"}. rdclibtool: lconf: fstatat(AT_FDCWD,".",...) = 0 {.st_dev = 29, .st_ino = 407808}. rdclibtool: lconf: openat(AT_FDCWD,"libtool",O_RDONLY,0) = 3. rdclibtool: lconf: found "/tmp/libtool-2.4.7/tests/testsuite.dir/028/libtool". rdclibtool: error logged in slbt_fs_map_input(), line 37: path not found: .libs/libhello.a. rdclibtool: < returned to > slbt_map_raw_archive(), line 27. rdclibtool: < returned to > slbt_ar_get_archive_ctx(), line 81. rdclibtool: < returned to > slbt_ectx_get_exec_ctx(), line 628. rdclibtool: < returned to > slbt_exec_link(), line 155. make[1]: *** [Makefile:565: helldl] Error 2 make[1]: Leaving directory '/tmp/libtool-2.4.7/tests/testsuite.dir/028' make: *** [Makefile:414: all] Error 2
Maybe a similar failure:
34: hardcoding library path FAILED (demo.at:613)
Gentoo issue: https://bugs.gentoo.org/926365
Both 028 and 034 now pass.
d054ee3
Metadata Update from @orbea: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.