[virt-tools-list] Statically compiling virt-rescue ?

Keith Roberts keith.roberts at ecric.nhs.uk
Tue Mar 17 11:29:29 UTC 2015


Hi all.

I’d like to create a statically-linked version of virt-rescue that I can compile on my laptop then deploy that binary locally onto a xen server hosting VM’s to run virt-rescue on the VM images from there locally. There are reasons for not installing the dynamically linked version with all the other dependencies.

keith.roberts at acer-laptop:/usr/bin> ldd virt-rescue
	linux-vdso.so.1 (0x00007fff6d94c000)
	libconfig.so.9 => /usr/lib64/libconfig.so.9 (0x00007f51b9a3f000)
	libguestfs.so.0 => /usr/lib64/libguestfs.so.0 (0x00007f51b973f000)
	libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f51b93d8000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f51b91bc000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f51b8e0f000)
	libpcre.so.1 => /usr/lib64/libpcre.so.1 (0x00007f51b8bb2000)
	libmagic.so.1 => /usr/lib64/libmagic.so.1 (0x00007f51b8999000)
	libvirt.so.0 => /usr/lib64/libvirt.so.0 (0x00007f51b83eb000)
	libfuse.so.2 => /lib64/libfuse.so.2 (0x00007f51b81af000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f51b7fab000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f51b7d95000)
	liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007f51b7b6f000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f51b7871000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f51b9c4c000)
	libcap-ng.so.0 => /usr/lib64/libcap-ng.so.0 (0x00007f51b766c000)
	libyajl.so.2 => /usr/lib64/libyajl.so.2 (0x00007f51b7461000)
	libnl.so.1 => /lib64/libnl.so.1 (0x00007f51b720e000)
	libaudit.so.1 => /usr/lib64/libaudit.so.1 (0x00007f51b6ff1000)
	libdevmapper.so.1.02 => /lib64/libdevmapper.so.1.02 (0x00007f51b6db6000)
	libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x00007f51b6bac000)
	libsystemd-daemon.so.0 => /usr/lib64/libsystemd-daemon.so.0 (0x00007f51b69a8000)
	libavahi-client.so.3 => /usr/lib64/libavahi-client.so.3 (0x00007f51b6797000)
	libavahi-common.so.3 => /usr/lib64/libavahi-common.so.3 (0x00007f51b658a000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f51b6344000)
	libgnutls.so.28 => /usr/lib64/libgnutls.so.28 (0x00007f51b6044000)
	libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00007f51b5e27000)
	libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f51b5bfe000)
	libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f51b5998000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f51b5778000)
	libapparmor.so.1 => /lib64/libapparmor.so.1 (0x00007f51b556d000)
	libutil.so.1 => /lib64/libutil.so.1 (0x00007f51b536a000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f51b5162000)
	libsepol.so.1 => /lib64/libsepol.so.1 (0x00007f51b4f20000)
	libudev.so.1 => /usr/lib64/libudev.so.1 (0x00007f51b4d10000)
	libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f51b4afe000)
	libnettle.so.4 => /usr/lib64/libnettle.so.4 (0x00007f51b48d7000)
	libhogweed.so.2 => /usr/lib64/libhogweed.so.2 (0x00007f51b46c4000)
	libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f51b4448000)
	libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f51b4234000)
	libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007f51b3e5e000)
	libidn.so.11 => /usr/lib64/libidn.so.11 (0x00007f51b3c2a000)
	liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f51b3a1b000)
	libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x00007f51b37d1000)
	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007f51b3592000)
	libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007f51b3327000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f51b3110000)
	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007f51b2e3b000)
	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007f51b2c12000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007f51b2a0e000)
	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007f51b2803000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007f51b25ff000)

Is it possible to statically compile virt-rescue with all the above required libraries built into the executable, along the lines of the mysql statically-linked binary?

Kind Regards,

Keith




More information about the virt-tools-list mailing list