Fix test suite on 64-bit time Debian
Recent package updates in Debian unstable (Sid) break the test suite.
The result of my initial analysis is that this is related to the migration to 64-bit time and how we use libguestfs. libguestfs seems to copy shared libraries from the host into the VM, which are then used by guestfsd
. That fails if the 64-bit time versions of those libraries are installed on the host.
When running with LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1
, the following debug output is printed:
guestfsd --verbose
guestfsd: error while loading shared libraries: librpm.so.9: cannot open shared object file: No such file or directory
EDIT:
Here are results of further investigation:
- libguestfs is implemented by running an appliance (a special type of small virtual machine) using qemu (source: https://libguestfs.org/guestfs-internals.1.html#architecture)
- By default, that appliance is built on-demand by a tool called
supermin
(source: https://libguestfs.org/guestfs-internals.1.html#appliance-boot-process) -
supermin
creates the appliance by copying binaries from the host OS (source: https://libguestfs.org/supermin.1.html#SUPERMIN-APPLIANCES) - Instead of building the appliance on-demand via
supermin
, libguestfs can also use pre-built appliances which can be built withlibguestfs-make-fixed-appliance
. - There are also pre-built appliances available for download at https://download.libguestfs.org/binaries/appliance/
- The test suite works when
appliance-1.46.0.tar.xz
is extracted to/usr/local/lib/guestfs/
and the test suite is run withLIBGUESTFS_PATH=/usr/local/lib/guestfs/appliance/
Edited by segfault