slibtool: 0.5.29 cyrus-sasl: https://github.com/cyrusimap/cyrus-sasl/commit/cc5a8de15456ecf02d820edbf61fcc283df200c0
0.5.29
When installing the current cyrus-sasl git master branch it fails when failing to find a file. Slibtool should print what file is missing and where its looking when using the verbose mode. Without this normal users are left guessing what is wrong.
Making install in plugins make[1]: Entering directory '/tmp/cyrus-sasl/plugins' make[2]: Entering directory '/tmp/cyrus-sasl/plugins' make[2]: Nothing to be done for 'install-exec-am'. /usr/bin/mkdir -p '/tmp/dest/usr/local/lib/sasl2' rdlibtool --mode=install /usr/bin/ginstall -c libsasldb.la libcrammd5.la libdigestmd5.la libscram.la libotp.la libplain.la libanonymous.la '/tmp/dest/usr/local/lib/sasl2' rdlibtool --mode=install /usr/bin/ginstall -c libsasldb.la libcrammd5.la libdigestmd5.la libscram.la libotp.la libplain.la libanonymous.la /tmp/dest/usr/local/lib/sasl2 rdlibtool: error logged in slbt_exec_install_entry(), line 436: No such file or directory. rdlibtool: < returned to > slbt_exec_install(), line 705. make[2]: *** [Makefile:616: install-pluginLTLIBRARIES] Error 2 make[2]: Leaving directory '/tmp/cyrus-sasl/plugins' make[1]: *** [Makefile:871: install-am] Error 2 make[1]: Leaving directory '/tmp/cyrus-sasl/plugins' make: *** [Makefile:677: install-recursive] Error 1
Reproduction:
cc5a8de15456ecf02d820edbf61fcc283df200c0
I just did a whole distro build using slibtool and about 15 packages failed exactly like this. There does appear to be a pattern to the failures but simply failing like that isn't helpful.
For example, building xserver-org for me:
slibtool --heuristics=/home/ross/Yocto/build/tmp/work/neoversen1-poky-linux/xserver-xorg/2_1.20.9-r0/build/aarch64-poky-linux-libtool --mode=install /home/ross/Yocto/build/tmp/hosttools/install -c libvbe.la '/home/ross/Yocto/build/tmp/work/neoversen1-poky-linux/xserver-xorg/2_1.20.9-r0/image/usr/lib/xorg/modules' slibtool: error logged in slbt_exec_install_entry(), line 436: No such file or directory. slibtool: < returned to > slbt_exec_install(), line 705.
libvbe.la exists so it's one of the .so files that it can't find.
libvbe.la
.so
I believe the actual failure is a regression from commit https://dev.midipix.org/cross/slibtool/c/7120606. @midipix Should be fixing this soon.
The build issue is fixed in https://dev.midipix.org/cross/slibtool/c/ff7fb8f.
Confirmed, thanks!
Still seeing this with libnss-mdns for example:
slibtool --heuristics=/home/ross/Yocto/build/tmp/work/neoversen1-poky-linux/libnss-mdns/0.14.1-r0/build/aarch64-poky-linux-libtool --mode=install /home/ross/Yocto/build/tmp/hosttools/install -c libnss_mdns.la libnss_mdns4.la libnss_mdns6.la libnss_mdns_minimal.la libnss_mdns4_minimal.la libnss_mdns6_minimal.la '/home/ross/Yocto/build/tmp/work/neoversen1-poky-linux/libnss-mdns/0.14.1-r0/image/lib' slibtool: error logged in slbt_exec_install_entry(), line 436: No such file or directory. slibtool: < returned to > slbt_exec_install(), line 705. | make[1]: *** [Makefile:753: install-libLTLIBRARIES] Error 2
slibtool: 2c4e5f9 libnss-mdns: https://github.com/lathiat/nss-mdns/commit/99c2f1c10ff5b3373ce8c197add2563d66629f45
Confirmed. Same reproduction as the op.
make[1]: Entering directory '/tmp/nss-mdns' /usr/bin/mkdir -p '/tmp/dest/lib' rdlibtool --mode=install /usr/bin/ginstall -c libnss_mdns.la libnss_mdns4.la libnss_mdns6.la libnss_mdns_minimal.la libnss_mdns4_minimal.la libnss_mdns6_minimal.la '/tmp/dest/lib' rdlibtool --mode=install /usr/bin/ginstall -c libnss_mdns.la libnss_mdns4.la libnss_mdns6.la libnss_mdns_minimal.la libnss_mdns4_minimal.la libnss_mdns6_minimal.la /tmp/dest/lib rdlibtool: error logged in slbt_exec_install_entry(), line 436: No such file or directory. rdlibtool: < returned to > slbt_exec_install(), line 705. make[1]: *** [Makefile:882: install-libLTLIBRARIES] Error 2 make[1]: Leaving directory '/tmp/nss-mdns' make: *** [Makefile:1881: install-am] Error 2
slibtool log: http://slackless.raccoons.tech/logs/nss-mdns-slibtool-1.log
A tiny bit of debugging on the nss-mdns failure, by adding a printf() where it aborts.
printf()
$ make V=1 install DESTDIR=inst make[1]: Entering directory '/home/ross/Code/nss-mdns' /usr/bin/mkdir -p 'inst/lib' /home/ross/Code/slibtool/inst/usr/local/bin/rdlibtool --mode=install /usr/bin/install -c libnss_mdns.la libnss_mdns4.la libnss_mdns6.la libnss_mdns_minimal.la libnss_mdns4_minimal.la libnss_mdns6_minimal.la 'inst/lib' /home/ross/Code/slibtool/inst/usr/local/bin/rdlibtool --mode=install /usr/bin/install -c libnss_mdns.la libnss_mdns4.la libnss_mdns6.la libnss_mdns_minimal.la libnss_mdns4_minimal.la libnss_mdns6_minimal.la inst/lib STATTING .libs/libnss_mdns.so rdlibtool: error logged in slbt_exec_install_entry(), line 437: No such file or directory. rdlibtool: < returned to > slbt_exec_install(), line 706. make[1]: *** [Makefile:883: install-libLTLIBRARIES] Error 2
The actual built files:
$ ls .libs/libnss_mdns.* .libs/libnss_mdns.2 .libs/libnss_mdns.2.slibtool.deps .libs/libnss_mdns.a.disabled .libs/libnss_mdns.la .libs/libnss_mdns.lai
Shouldn't there be a .so in there?
From discussion on IRC this is due to -shrext not working properly. libnss-mdns uses -avoid-version -shrext .so.2
-shrext
-avoid-version -shrext .so.2
Thanks for reporting! Implemented in commits 6beda1b & 5c84b65.
Metadata Update from @midipix: - Issue status updated to: Closed (was: Open)
Login to comment on this ticket.