On Thu, Mar 29, 2018 at 10:51:46AM +0200, Claudio Sasso wrote:
The guestfsd executable in appliance/supermin.d/ seems to link yajl
correctly
$ cp -r libguestfs-1.38.0/appliance/supermin.d/*tar.gz /tmp/supermin.d/
$ cd /tmp/supermin.d/
$ for i in *tar.gz; do tar -xzf $i; done
$ ldd ./usr/sbin/guestfsd
You're nearly there with your analysis. The problem is that
yajl isn't being copied into the appliance for some reason.
Try doing:
./run virt-rescue --scratch
<rescue> ldd /usr/sbin/guestfsd
and you should see the missing/broken dependency.
This is controlled by appliance/packagelist (generated from
appliance/packagelist.in). I'm guessing for some reason yajl does not
appear in this file.
You could add it to the file and then do:
make -C appliance clean-supermin-appliance
make -C appliance
rm -rf tmp/.guestfs-*
make quickcheck
If that doesn't fix it then it's probably something to do with the
yajl RPM itself. Perhaps the RPM metadata doesn't list all of the
files in yajl or something like that, so supermin doesn't know what
files to copy into the appliance. You'll probably need to run
supermin by hand with extra -v options to see what's going on in this
case.
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