Lewis Gaul
2021-May-02 13:23 UTC
[Libguestfs] Building from source with custom gperf location
Thanks, once again that seems to have got me past that problem, only for a new one to crop up (this time hivex, which I'm not sure how to build or why it's required on Linux). I take it this isn't really an expected workflow, trying to get the package to build without being able to use a package manager to install the dependencies? Searching the output from ./configure, I can't yet see any mention of quite a few of the other dependencies listed at https://libguestfs.org/guestfs-building.1.html that may be problematic, so I'm wondering if it's time to throw in the towel for this approach. All I'm looking for really is a way to programmatically edit a single file in a qcow2 VM image (which I planned to achieve with virt-edit) - is there an easier way to do this? Does virt-edit alone require all these dependencies, or would there be a way to build just virt-edit without pulling apart the build system? Alternatively, would it be possible/easier to build a static virt-edit binary in a CentOS 7 VM that could simply be copied onto this RHEL 7 machine? I appreciate your help so far and any further suggestions you might have! Thanks, Lewis On Sun, 2 May 2021 at 09:28, Richard W.M. Jones <rjones at redhat.com> wrote:> On Sun, May 02, 2021 at 12:14:19AM +0100, Lewis Gaul wrote: > > LIBRARY_PATH=~/.local/lib64 doesn't seem to work either unfortunately > (still > > unable to find libmagic). Any other ideas (even if I need to edit a file > and > > rerun autoconf or something)? > ... > > Unfortunately m4/guestfs-libraries.m4 is using AC_CHECK_LIB instead > of > > PKG_CHECK_MODULES, so you cannot just set PKG_CONFIG_* environment > > variables to pick up the right libmagic.pc (which is a bug in > > libguestfs). > > Take a look at m4/guestfs-libraries.m4 and change the AC_CHECK_LIB to > PKG_CHECK_MODULES, following examples of other package tests in that > file, then re-run "autoconf". > > Rich. > > -- > Richard Jones, Virtualization Group, Red Hat > http://people.redhat.com/~rjones > Read my programming and virtualization blog: http://rwmj.wordpress.com > virt-p2v converts physical machines to virtual machines. Boot with a > live CD or over the network (PXE) and turn machines into KVM guests. > http://libguestfs.org/virt-v2v > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://listman.redhat.com/archives/libguestfs/attachments/20210502/cdbd141b/attachment.htm>
Richard W.M. Jones
2021-May-02 13:48 UTC
[Libguestfs] Building from source with custom gperf location
On Sun, May 02, 2021 at 02:23:55PM +0100, Lewis Gaul wrote:> Thanks, once again that seems to have got me past that problem,Do you have a patch for this one?> only > for a new one to crop up (this time hivex, which I'm not sure how to > build or why it's required on Linux). I take?it this isn't really an > expected workflow, trying to get the package to build without being > able to use a package manager to install the dependencies?Hivex is needed to inspect and edit Windows registries, and is a required dependency nowadays. It's also only a small C library and is available in most distros.> Searching the output from ./configure, I can't yet see any mention > of quite a few of the other dependencies listed > at?https://libguestfs.org/ guestfs-building.1.html that may be > problematic, so I'm wondering if it's time to throw in the towel for > this approach. > > All I'm looking for really is a way to programmatically edit a > single file in a qcow2 VM image (which I planned to achieve with > virt-edit) - is there an easier way to do this? Does virt-edit alone > require all these dependencies, or would there be a way to build > just virt-edit without pulling apart the build system?> Alternatively, would it be possible/easier to build a static virt-edit binary > in a CentOS 7 VM that could simply be copied onto this RHEL 7 machine? > > I appreciate your help so far and any further suggestions you might have!RHEL 7 has libguestfs already. You don't have root access, but it should be possible to download what you need as RPMs, unpack them, and run libguestfs from your home directory. Something like this: $ yumdownloader libguestfs ... libguestfs-1.40.2-5.el7.x86_64.rpm | 2.4 MB 00:01 $ yumdownloader libguestfs-tools-c $ rpm2cpio libguestfs-1.40.2-5.el7.x86_64.rpm | cpio -id $ rpm2cpio libguestfs-tools-c-1.40.2-5.el7.x86_64.rpm | cpio -id $ cd usr/bin/ $ LIBGUESTFS_PATH=$PWD/../lib64/guestfs LD_LIBRARY_PATH=../lib64 ./libguestfs-test-tool You might also need to download other dependencies as RPMs and unpack those in the same way (supermin, hivex, etc) Or ask for root to install the package(!) Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 100 libraries supported. http://fedoraproject.org/wiki/MinGW