[Pkg-xen-devel] xen-4.2, libxl and libvirt

David Scott dave.scott at eu.citrix.com
Thu Mar 21 18:10:59 UTC 2013


Hi,

I'm testing the xen-4.2 package from experimental and I've hit a problem 
trying to use the installed libxenlight library-- I hope this is the 
right place to discuss it.

xen itself seems to be ok, I can start/stop domains with 'xl'. I notice 
that 'xl' is statically linked so has no problem finding libxenlight.

I'm trying to compile libvirt-1.0.3, also from experimental. 
Unfortunately the "configure" step fails to detect libxenlight. The 
build still succeeds but it falls back to using xend, which I believe is 
unsupported for xen-4.2.

The libvirt configure step outputs:

checking for libxl_ctx_alloc in -lxenlight... no

and in config.log I see:

configure:61236: checking for libxl_ctx_alloc in -lxenlight
configure:61261: gcc -std=gnu99 -o conftest -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall 
-D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c -lxenlight  -ldl -g -O2 
-fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wall  >&5
/usr/bin/ld: cannot find -lxenlight

-- it can't find -lxenlight because it's in /usr/lib/xen-4.2/lib and 
this isn't listed as a system library directory. I notice that 
libxenctrl.so is in /usr/lib.

I experimented by adding '--with-libxl=/usr/lib/xen-4.2/lib' to the 
configure step, which gets me slightly further:

checking for libxl_ctx_alloc in -lxenlight... no

configure:61236: checking for libxl_ctx_alloc in -lxenlight
configure:61261: gcc -std=gnu99 -o conftest -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall 
-I/usr/lib/xen-4.2/lib/include -D_FORTIFY_SOURCE=2 -Wl,-z,relro 
conftest.c -lxenlight  -ldl -g -O2 -fstack-protector 
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall 
-L/usr/lib/xen-4.2/lib >&5
/usr/bin/ld: warning: libblktapctl.so, needed by 
/usr/lib/xen-4.2/lib/libxenlight.so, not found (try using -rpath or 
-rpath-link)
/usr/lib/xen-4.2/lib/libxenlight.so: undefined reference to 
`tap_ctl_destroy'
/usr/lib/xen-4.2/lib/libxenlight.so: undefined reference to `tap_ctl_find'
/usr/lib/xen-4.2/lib/libxenlight.so: undefined reference to `tap_ctl_check'
/usr/lib/xen-4.2/lib/libxenlight.so: undefined reference to `tap_ctl_create'
collect2: error: ld returned 1 exit status

-- now it's unable to find symbols from libblktapctl.so which is also in 
/usr/lib/xen-4.2/lib.

For reference if I build everything from source and use "make install" 
to put the libraries into the usual system directories then everything 
seems to work ok.

I don't know whether you would consider this a problem with the xen 
package or the libvirt package. If libvirt, do you know how the libvirt 
package should be modified? Is the plan to have multiple libxenlights 
installed (/usr/lib/xen-4.3/lib)? If so, how would a libvirt package 
choose one to link to?

Any help or advice greatly appreciated! :-)

Thanks,
Dave



More information about the Pkg-xen-devel mailing list