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