#64 GNU libtool testsuite failure 28
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.

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)

Both 028 and 034 now pass.

d054ee3

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

2 months ago

Login to comment on this ticket.

Metadata