slibtool: link: ar crs .libs/dlopen.a loaders/.libs/dlopen.o slibtool: link: ln -s ../dlopen.la .libs/dlopen.la slibtool: link: ln -s ../dlopen.la .libs/dlopen.lai slibtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/dev-libs/libltdl-2.4.6/work/libtool-2.4.6/libltdl -DLTDLOPEN=libltdl -DLT_CONFIG_H=<config.h> -DLTDL -I. -I/var/tmp/portage/dev-l ibs/libltdl-2.4.6/work/libtool-2.4.6/libltdl -Ilibltdl -I/var/tmp/portage/dev-libs/libltdl-2.4.6/work/libtool-2.4.6/libltdl/libltdl -Os -pipe -march=native -Os -pipe -march=native -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -c /var/tmp/portage/dev-libs/libltdl-2.4.6/work/libtool-2.4.6/libltdl/ltdl.c -o libltdl_la-ltdl.o slibtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc -Os -pipe -march=native -Os -pipe -march=native -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -no-undefined -version-info 10:1 :3 -dlpreopen dlopen.la -Wl,-O1 -Wl,--as-needed -o libltdl.la -rpath /usr/lib64 loaders/libltdl_la-preopen.lo libltdl_la-lt__alloc.lo libltdl_la-lt_dlloader.lo libltdl_la-lt_error.lo libltdl_la-ltdl.lo libltdl_ la-slist.lo lt__strl.lo slibtool: link: ar crs .libs/libltdl.a loaders/.libs/libltdl_la-preopen.o .libs/libltdl_la-lt__alloc.o .libs/libltdl_la-lt_dlloader.o .libs/libltdl_la-lt_error.o .libs/libltdl_la-ltdl.o .libs/libltdl_la-slist.o .libs/lt__strl.o slibtool: link: x86_64-pc-linux-gnu-gcc -Wl,--whole-archive .libs/dlopen.a -Wl,--no-whole-archive loaders/.libs/libltdl_la-preopen.o .libs/libltdl_la-lt__alloc.o .libs/libltdl_la-lt_dlloader.o .libs/libltdl_la-l t_error.o .libs/libltdl_la-ltdl.o .libs/libltdl_la-slist.o .libs/lt__strl.o -Os -pipe -march=native -Os -pipe -march=native -Wimplicit-function-declaration -Wno-error=implicit-function-declaration -L.libs -ldl - Wl,-O1 -Wl,--as-needed -shared -fPIC -Wl,--no-undefined -Wl,-soname -Wl,libltdl.so.7 -o .libs/libltdl.so.7.3.1 /usr/lib/gcc/x86_64-pc-linux-gnu/10.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: .libs/libltdl_la-ltdl.o: in function `lt_dlinit': ltdl.c:(.text+0xdbb): undefined reference to `lt_libltdl_LTX_preloaded_symbols' collect2: error: ld returned 1 exit status slibtool: exec error upon slbt_exec_link_create_library(), line 1446: (see child process error messages). slibtool: < returned to > slbt_exec_link(), line 1836. make[1]: *** [Makefile:627: libltdl.la] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-libs/libltdl-2.4.6/work/libtool-2.4.6/libltdl-abi_x86_64.amd64' make: *** [Makefile:504: all] Error 2 * ERROR: dev-libs/libltdl-2.4.6::gentoo failed (compile phase): * emake failed
Created attachment 690951 [details] libltdl-2.4.6:20210312-100052.log buildlog
I don't have a fix for this yet, but similar to slibtool there is sltdl which could eventually replace libltdl. https://dev.midipix.org/cross/sltdl Unfortunately this can't be tested as easily with an environment variable like slibtool.
This upstream slibtool issue is relevant. https://dev.midipix.org/cross/slibtool/issue/2
This fails because -dlpreopen is a no-op in slibtool and seems to be really needed here. Do any other packages fail with this error? The other two I know about, bind and pulseaudio no longer seem to use it upstream.
*** Bug 842426 has been marked as a duplicate of this bug. ***
slibtool_tinderbox has reproduced this issue with version 2.4.7-r1 - Updating summary.
This is fixed with slibtool-9999 now, but the libltdl.la libtool archive must be installed so it must be built with clibtool or one of the related symlinks like rclibtool or rdclibtool.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=341f85a7caa16a7d986a4b428521562bf9120b08 commit 341f85a7caa16a7d986a4b428521562bf9120b08 Author: orbea <orbea@riseup.net> AuthorDate: 2024-03-15 13:51:37 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-03-15 19:29:22 +0000 dev-build/slibtool: add 0.5.36 Many bugs are fixed with this release, it is recommended for slibtool users to rebuild their entire system after this release. The addition of -export-symbols and -export-symbols-regex will allow exporting only the desired public symbols globally in any package that uses them. Closes: https://bugs.gentoo.org/925555 Closes: https://bugs.gentoo.org/913670 Closes: https://bugs.gentoo.org/916128 Closes: https://bugs.gentoo.org/775596 Closes: https://bugs.gentoo.org/792072 Closes: https://bugs.gentoo.org/924407 Closes: https://bugs.gentoo.org/924291 Closes: https://bugs.gentoo.org/782013 Closes: https://bugs.gentoo.org/914569 Closes: https://bugs.gentoo.org/791880 Closes: https://bugs.gentoo.org/913551 Closes: https://bugs.gentoo.org/913688 Closes: https://bugs.gentoo.org/914097 Closes: https://bugs.gentoo.org/915966 Closes: https://bugs.gentoo.org/924408 Closes: https://bugs.gentoo.org/915121 Closes: https://bugs.gentoo.org/913642 Closes: https://bugs.gentoo.org/917639 Closes: https://bugs.gentoo.org/917640 Closes: https://bugs.gentoo.org/913530 Closes: https://bugs.gentoo.org/913638 Closes: https://bugs.gentoo.org/778515 Closes: https://bugs.gentoo.org/920190 Closes: https://bugs.gentoo.org/924404 Signed-off-by: orbea <orbea@riseup.net> Signed-off-by: Sam James <sam@gentoo.org> dev-build/slibtool/Manifest | 2 ++ dev-build/slibtool/slibtool-0.5.36.ebuild | 41 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+)