Created attachment 397958 [details, diff] Patch for the ebuild to create symlink This bug should be assigned to blueness@gentoo.org who maintains the musl overlay. dev-libs/gobject-introspection-1.40.0-r2 fails to install because "ldd" is not found. By looking at musl FAQ[0] they recommend creating a symlink between /lib/ld-musl-$ARCH.so and /bin/ldd. I tried this on a musl stage 3 installation (/lib/ld-musl-x86_64.so.1 -> /bin/ldd) and gobject-introspection compiled successfully. I suppose the symlink should be included in the stage3 tarball in the future. As a temporary solution, I have attached a small patch to the ebuild file which does the symlinking for me. I have tested it on hardened/musl x86_64. [0] http://wiki.musl-libc.org/wiki/FAQ#Q:_where_is_ldd_.3F Summary of the compile error: ----------------------------------------------------------- libtool: link: x86_64-gentoo-linux-musl-gcc -o /var/tmp/portage/dev-libs/gobject-introspection-1.40.0-r2/work/gobject-introspection-1.40.0/tmp-introspectGntyyM/GLib-2.0 -fno-strict-aliasing -Wsign-compare -Wcast-align -Wpointer-arith -Wnested-externs -Wmissing-prototypes -Wmissing-declarations -Wchar-subscripts -Wall -O2 -pipe -fomit-frame-pointer -Wl,-O1 /var/tmp/portage/dev-libs/gobject-introspection-1.40.0-r2/work/gobject-introspection-1.40.0/tmp-introspectGntyyM/GLib-2.0.o -Wl,--export-dynamic -pthread -Wl,--export-dynamic -Wl,--as-needed -lgio-2.0 -lgmodule-2.0 -lglib-2.0 -lgobject-2.0 -pthread ./libtool: line 10066: exec: ldd: not found ERROR: can't resolve libraries to shared libraries: gobject-2.0, glib-2.0 Makefile:3386: recipe for target 'GLib-2.0.gir' failed
Created attachment 397960 [details] emerge --info
Created attachment 397962 [details] Build log
(In reply to Cato Auestad from comment #0) > Created attachment 397958 [details, diff] [details, diff] > Patch for the ebuild to create symlink > Unfortunately `uname -m` won't work. musl's idea of an arch is whatever is under $(musl source)/arch directory. So for $(uname -m) == i686 you need i386 :( I've opted to proceed as follows: @@ -84,6 +84,10 @@ if is_crosscompile ; then dosym usr/include /usr/${CTARGET}/sys-include fi + + # musl provides ldd via a sym link to its ld.so + local ldso=$(basename ${D}/lib/ld-musl-*) + dosym /lib/${ldso} /usr/bin/ldd } pkg_postinst() { I've added this to musl-9999.ebuild and will push it out with the 1.1.7 releases. The real test will be to see if to works on the mipsel3 and armv7a stage3's. (There's also felix's mips32r2 and ppc which have some issues I have yet to track down.) Pleaes reopen if this is still a problem for you, or it doesn't work for some reason.