app-emulation/libguestfs-1.38.6-r103 doesn't compile virt-resize. At line 72590, the configure script mentions resize : "resize/Makefile") CONFIG_FILES="$CONFIG_FILES resize/Makefile" ;; But only virt-resize bash-completion are present after installation, no /usr/bin/virt-resize is present. equery f libguestfs | grep resize /usr/share/bash-completion/completions/virt-resize ---- USE="gtk libvirt" CFLAGS="-march=bdver2 -O2 -pipe" CXXFLAGS="-march=bdver2 -O2 -pipe" LDFLAGS="-Wl,-O1 -Wl,--as-needed -L/usr/lib64/xcrypt" ---- Reproducible: Always
Thank you for the report. We need to have all information at hand before ticket assignment. Please provide * the complete build.log as attachment and * paste the emerge info as described on https://wiki.gentoo.org/wiki/Attach_the_logs_to_the_bug_ticket
Created attachment 706890 [details] emerge --info
Created attachment 706893 [details] build log (part 1)
Created attachment 706896 [details] build log (part 2) ---- strip: x86_64-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version /usr/bin/guestfish /usr/lib64/libguestfs.so.0.504.0 /usr/bin/virt-alignment-scan /usr/bin/virt-cat /usr/bin/virt-filesystems /usr/bin/virt-log /usr/bin/virt-df /usr/bin/virt-ls /usr/bin/guestunmount /usr/bin/virt-format /usr/bin/virt-inspector /usr/bin/libguestfs-test-tool /usr/bin/virt-tail /usr/bin/virt-diff /usr/bin/virt-edit /usr/bin/virt-make-fs /usr/bin/virt-rescue /usr/lib64/perl5/5.30.3/x86_64-linux-thread-multi/auto/Sys/Guestfs/Guestfs.so /usr/bin/virt-index-validate /usr/bin/guestmount >>> Done. ----
Is it still reproducible on 1.44.1?
(In reply to Marco Scardovi (scardracs) from comment #5) > Is it still reproducible on 1.44.1? Yes, I compiled it a few minutes ago and virt-resize is still missing. ---- >>> Completed installing app-emulation/libguestfs-1.44.1 into /var/tmp/portage/app-emulation/libguestfs-1.44.1/image * Final size of build directory: 184828 KiB (180.4 MiB) * Final size of installed tree: 15252 KiB ( 14.8 MiB) strip: x86_64-pc-linux-gnu-strip --strip-unneeded -N __gentoo_check_ldflags__ -R .comment -R .GCC.command.line -R .note.gnu.gold-version /usr/bin/virt-cat /usr/bin/virt-alignment-scan /usr/bin/libguestfs-test-tool /usr/bin/guestfish /usr/lib64/libguestfs.so.0.509.0 /usr/bin/virt-filesystems /usr/bin/virt-log /usr/bin/virt-ls /usr/bin/virt-tail /usr/bin/virt-df /usr/bin/virt-diff /usr/bin/virt-edit /usr/bin/virt-format /usr/bin/virt-inspector /usr/bin/virt-make-fs /usr/bin/virt-rescue /usr/lib64/perl5/5.32/x86_64-linux-thread-multi/auto/Sys/Guestfs/Guestfs.so /usr/bin/guestmount /usr/bin/guestunmount >>> Done. * OCaml based tools and bindings (sysprep, ...) NOT installed ----
(In reply to David Duchesne from comment #6) > (In reply to Marco Scardovi (scardracs) from comment #5) > > Is it still reproducible on 1.44.1? > > Yes, I compiled it a few minutes ago and virt-resize is still missing. > > * OCaml based tools and bindings (sysprep, ...) NOT installed > ---- I think you need USE=ocaml for it. I can add it to the list if it works for you then?
(In reply to Sam James from comment #7) > (In reply to David Duchesne from comment #6) > > (In reply to Marco Scardovi (scardracs) from comment #5) > > > Is it still reproducible on 1.44.1? > > > > Yes, I compiled it a few minutes ago and virt-resize is still missing. > > > > * OCaml based tools and bindings (sysprep, ...) NOT installed > > ---- > > I think you need USE=ocaml for it. I can add it to the list if it works for > you then? I'm currently trying that with ocaml enabled indeed (a lot of dependencies on my old system, so I will let you know in one hour if it worked or not)
(In reply to David Duchesne from comment #8) > > I'm currently trying that with ocaml enabled indeed (a lot of dependencies > on my old system, so I will let you know in one hour if it worked or not) Thanks! If it works, I'll update both the log message and enable OCaml by default. If any OCaml packages fail, please tell me because we've managed to improve the situation a *lot* but some slight tweaks may be needed -- point is, don't despair if any fail, it's going to be fixable.
Created attachment 716475 [details] build log for 1.44.1 (ocaml USE enabled)
(In reply to Sam James from comment #9) > (In reply to David Duchesne from comment #8) > > > > I'm currently trying that with ocaml enabled indeed (a lot of dependencies > > on my old system, so I will let you know in one hour if it worked or not) > > Thanks! If it works, I'll update both the log message and enable OCaml by > default. > > If any OCaml packages fail, please tell me because we've managed to improve > the situation a *lot* but some slight tweaks may be needed -- point is, > don't despair if any fail, it's going to be fixable. Thanks! Unfortunately, with ocaml USE enabled, it fails to build (see build log attached) --- tldr version --- virt-sysprep: error while loading shared libraries: libcrypt.so.2: cannot open shared object file: No such file or directory make[2]: *** [Makefile:3015: sysprep-operations.pod] Error 127 make[2]: *** Waiting for unfinished jobs.... virt-sysprep: error while loading shared libraries: libcrypt.so.2: cannot open shared object file: No such file or directory make[2]: *** [Makefile:3010: sysprep-extra-options.pod] Error 127 make[2]: Leaving directory '/var/tmp/portage/app-emulation/libguestfs-1.44.1/work/libguestfs-1.44.1/sysprep' make[1]: *** [Makefile:2482: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/app-emulation/libguestfs-1.44.1/work/libguestfs-1.44.1' make: *** [Makefile:2382: all] Error 2 ----
(In reply to David Duchesne from comment #10) > Created attachment 716475 [details] > build log for 1.44.1 (ocaml USE enabled) Hmmm.. looks like bug 703118. But I thought we fixed that.
(In reply to Sam James from comment #12) > (In reply to David Duchesne from comment #10) > > Created attachment 716475 [details] > > build log for 1.44.1 (ocaml USE enabled) > > Hmmm.. looks like bug 703118. But I thought we fixed that. Okay, it turns out this is Not As Simple As It Looked. The old bug wasn't actually properly fixed. But for now, you'll need to use USE=-ocaml (sorry) if that's okay. Asking toolchain@ for help, but it looks like this is going to be a pain given we've not migrated to libxcrypt yet.
(In reply to Sam James from comment #13) > (In reply to Sam James from comment #12) > > (In reply to David Duchesne from comment #10) > > > Created attachment 716475 [details] > > > build log for 1.44.1 (ocaml USE enabled) > > > > Hmmm.. looks like bug 703118. But I thought we fixed that. > > Okay, it turns out this is Not As Simple As It Looked. The old bug wasn't > actually properly fixed. > > But for now, you'll need to use USE=-ocaml (sorry) if that's okay. > > Asking toolchain@ for help, but it looks like this is going to be a pain > given we've not migrated to libxcrypt yet. I've been looking at exactly this, was just about to make a new bug for it. tl;dr passing -L/usr/${libdir}/xcrypt/ used to be enough to not only link virt-sysprep, but for virt-sysprep to get a RUNPATH entry. Now for whatever reason, no RUNPATH is added. My dumb workaround is: --- /usr/portage/app-emulation/libguestfs/libguestfs-1.44.1.ebuild 2021-06-08 03:09:36.000000000 -0600 +++ libguestfs-1.44.1.ebuild 2021-06-16 17:41:56.661842834 -0600 @@ -153,7 +153,7 @@ export vmchannel_test=no # bug #703118 - append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt" + append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt -Wl,-R/usr/lib64/xcrypt" econf \ $(use_with libvirt) \ With that, I can build libguestfs-1.44.1[ocaml] and get working virt-* binaries. I have no idea what the right fix is, but that WFM.
(In reply to Hank Leininger from comment #14) > (In reply to Sam James from comment #13) > > (In reply to Sam James from comment #12) > > > (In reply to David Duchesne from comment #10) > > > > Created attachment 716475 [details] > > > > build log for 1.44.1 (ocaml USE enabled) > > > > > > Hmmm.. looks like bug 703118. But I thought we fixed that. > > > > Okay, it turns out this is Not As Simple As It Looked. The old bug wasn't > > actually properly fixed. > > > > But for now, you'll need to use USE=-ocaml (sorry) if that's okay. > > > > Asking toolchain@ for help, but it looks like this is going to be a pain > > given we've not migrated to libxcrypt yet. > > I've been looking at exactly this, was just about to make a new bug for it. > !! What a coincidence. We seem to always be on the same stuff... > tl;dr passing -L/usr/${libdir}/xcrypt/ used to be enough to not only link > virt-sysprep, but for virt-sysprep to get a RUNPATH entry. > > Now for whatever reason, no RUNPATH is added. > > My dumb workaround is: > > --- /usr/portage/app-emulation/libguestfs/libguestfs-1.44.1.ebuild > 2021-06-08 03:09:36.000000000 -0600 > +++ libguestfs-1.44.1.ebuild 2021-06-16 17:41:56.661842834 -0600 > @@ -153,7 +153,7 @@ > export vmchannel_test=no > > # bug #703118 > - append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt" > + append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt > -Wl,-R/usr/lib64/xcrypt" Okay, this makes sense (it's equivalent to the ld.so.conf.d hack in the other bug) but I'm worried it's dangerous based on my discussions with dilfridge. I think the issue is that some things are going to be linked against the new and shiny libxcrypt and some won't, i.e. we're not fully replacing what glibc provides. BUT it might actually turn out to be okay in this case, actually. Need to think and play a bit. Just be careful doing this, especially if you're building binpkgs for another system.
*** Bug 796629 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=055efdba6f794cd3181aec537e52c72a874a4c70 commit 055efdba6f794cd3181aec537e52c72a874a4c70 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-06-16 22:15:03 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-06-18 22:50:11 +0000 app-emulation/libguestfs: enable OCaml by default for tools Needed for some common/popular tools. Closes: https://bugs.gentoo.org/789354 Signed-off-by: Sam James <sam@gentoo.org> app-emulation/libguestfs/libguestfs-1.38.6-r103.ebuild | 6 ++++-- app-emulation/libguestfs/libguestfs-1.44.1.ebuild | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b51eac66d64d0d3aa8e26987b16db70135421a19 commit b51eac66d64d0d3aa8e26987b16db70135421a19 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-06-18 22:41:00 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-06-18 22:49:39 +0000 app-emulation/libguestfs: fix libxcrypt RPATH We were struggling to find libxcrypt (when USE=-system) because it's buried away in a subdir - /usr/$(get_libdir)/xcrypt. For now, let's include a helping hand hint (RPATH) to tell binaries to look there for libraries. This won't be an issue in future when we fully remove/disable libcrypt from glibc and use libxcrypt[system] instead. Thanks-to: Hank Leininger <hlein@korelogic.com> Closes: https://bugs.gentoo.org/789354 Signed-off-by: Sam James <sam@gentoo.org> app-emulation/libguestfs/libguestfs-1.38.6-r103.ebuild | 6 ++++-- app-emulation/libguestfs/libguestfs-1.44.1.ebuild | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e248001f442fee25f45aa164c0da1cd41b41e882 commit e248001f442fee25f45aa164c0da1cd41b41e882 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-10-31 19:20:59 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-10-31 19:20:59 +0000 app-emulation/libguestfs: note that guestfs-tools is now needed for tools Always show the message rather than conditionally. Bug: https://bugs.gentoo.org/789354 Signed-off-by: Sam James <sam@gentoo.org> ...uestfs-1.46.0-r1.ebuild => libguestfs-1.46.0-r2.ebuild} | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-)