build problem with libxl

Hi all since 5.9.0 configure doesnt find the libxl libs/headers... It works With 5.8.0, with 5.9.0 not... not even if I set --with-libxl What can be the problem? -- ------ Greetz

On Thu, Feb 20, 2020 at 11:16:08AM +0100, Christoph wrote:
Hi all
since 5.9.0 configure doesnt find the libxl libs/headers... It works With 5.8.0, with 5.9.0 not... not even if I set --with-libxl
What can be the problem?
Do you have both the xen and the xen-devel packages installed? Also, what distribution are you using? In v5.9.0 we dropped some workaround for detecting it without pkg-config: https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=18981877d2e20390a79d06... Jano
-- ------ Greetz

I use centos 7 (7.7.1908). these pkgs are installed: xen-hypervisor-4.12.2-1.el7.x86_64 xen-devel-4.12.2-1.el7.x86_64 qemu-xen-4.12.1-1.el7.x86_64 xen-runtime-4.12.2-1.el7.x86_64 xen-licenses-4.12.2-1.el7.x86_64 xen-4.12.2-1.el7.x86_64 xen-libs-4.12.2-1.el7.x86_64 xen-ovmf-20180825-1.gitef529e6ab.el7.x86_64 even with --with-libxl it doesnt work... --- ------ Greetz Am 20.02.2020 11:31, schrieb Ján Tomko:
On Thu, Feb 20, 2020 at 11:16:08AM +0100, Christoph wrote:
Hi all
since 5.9.0 configure doesnt find the libxl libs/headers... It works With 5.8.0, with 5.9.0 not... not even if I set --with-libxl
What can be the problem?
Do you have both the xen and the xen-devel packages installed? Also, what distribution are you using?
In v5.9.0 we dropped some workaround for detecting it without pkg-config: https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=18981877d2e20390a79d06...
Jano
-- ------ Greetz

On Thu, Feb 20, 2020 at 12:40:35PM +0100, Christoph wrote:
I use centos 7 (7.7.1908).
these pkgs are installed:
xen-hypervisor-4.12.2-1.el7.x86_64 xen-devel-4.12.2-1.el7.x86_64 qemu-xen-4.12.1-1.el7.x86_64 xen-runtime-4.12.2-1.el7.x86_64 xen-licenses-4.12.2-1.el7.x86_64 xen-4.12.2-1.el7.x86_64 xen-libs-4.12.2-1.el7.x86_64 xen-ovmf-20180825-1.gitef529e6ab.el7.x86_64
Interesting, I did not know these packages existed.
even with --with-libxl it doesnt work...
There was a bug in our code that ignored the error even if --with-libxl was requested, patch sent: https://www.redhat.com/archives/libvir-list/2020-February/msg00723.html However the mentioned xen-devel package seems to contain a xenlight.pc config file for pkg-config: https://cbs.centos.org/koji/buildinfo?buildID=27840 so it should work. Can you paste the config.log section beginning with 'checking for LIBXL'? On my Fedora 31 where I build with libxl it looks like this: configure:23591: checking for LIBXL configure:23598: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" configure:23601: $? = 0 configure:23615: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" configure:23618: $? = 0 configure:23666: result: yes configure:23718: checking libxlutil.h usability configure:23718: clang -c -g -ggdb3 conftest.c >&5 configure:23718: $? = 0 configure:23718: result: yes configure:23718: checking libxlutil.h presence configure:23718: clang -E conftest.c configure:23718: $? = 0 configure:23718: result: yes configure:23718: checking for libxlutil.h configure:23718: result: yes configure:23743: checking for xtl_createlogger_stdiostream in -lxentoollog configure:23768: clang -o conftest -g -ggdb3 conftest.c -lxentoollog -lutil -ltirpc -lpthread -ldl >&5 configure:23768: $? = 0 configure:23777: result: yes configure:23791: checking whether LIBXL_DOMAIN_TYPE_PVH is declared configure:23791: clang -c -g -ggdb3 conftest.c >&5 configure:23791: $? = 0 configure:23791: result: yes configure:23859: clang -o conftest -g -ggdb3 conftest.c -lutil -ltirpc -lpthread -ldl >&5 configure:23859: $? = 0 configure:23899: clang -o conftest -g -ggdb3 conftest.c -lutil -ltirpc -lpthread -ldl >&5 configure:23899: $? = 0 Jano

https://wiki.centos.org/HowTos/Xen/Xen4QuickStart configure:53501: checking for LIBXL configure:53508: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable Package 'xenblktapctl', required by 'Xenlight', not found configure:53511: $? = 1 configure:53525: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable Package 'xenblktapctl', required by 'Xenlight', not found configure:53528: $? = 1 configure:53542: result: no Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable Package 'xenblktapctl', required by 'Xenlight', not found yum provides */xenblktapctl* shows: Loaded plugins: changelog, elrepo, fastestmirror, nvidia, rhnplugin This system is receiving updates from RHN Classic or Red Hat Satellite. No matches found such a file doesnt exist in the pkgs... but: yum provides */*blktapctl* Loaded plugins: changelog, elrepo, fastestmirror, nvidia, rhnplugin This system is receiving updates from RHN Classic or Red Hat Satellite. xen-devel-4.12.0.30.gb4f291b0ca-1.el7.x86_64 : Development libraries for Xen tools Repo : centos7-x86_64-xen Matched from: Provides : libtool(/usr/lib64/libblktapctl.la) Filename : /usr/lib64/libblktapctl.la Filename : /usr/lib64/libblktapctl.so xen-libs-4.12.2-1.el7.x86_64 : Libraries for Xen tools Repo : centos7-x86_64-xen Matched from: Filename : /usr/lib64/libblktapctl.so.0.1.1 Filename : /usr/lib64/libblktapctl.so.0 etc... --- ------ Greetz Am 20.02.2020 16:11, schrieb Ján Tomko:
On Thu, Feb 20, 2020 at 12:40:35PM +0100, Christoph wrote:
I use centos 7 (7.7.1908).
these pkgs are installed:
xen-hypervisor-4.12.2-1.el7.x86_64 xen-devel-4.12.2-1.el7.x86_64 qemu-xen-4.12.1-1.el7.x86_64 xen-runtime-4.12.2-1.el7.x86_64 xen-licenses-4.12.2-1.el7.x86_64 xen-4.12.2-1.el7.x86_64 xen-libs-4.12.2-1.el7.x86_64 xen-ovmf-20180825-1.gitef529e6ab.el7.x86_64
Interesting, I did not know these packages existed.
even with --with-libxl it doesnt work...
There was a bug in our code that ignored the error even if --with-libxl was requested, patch sent: https://www.redhat.com/archives/libvir-list/2020-February/msg00723.html
However the mentioned xen-devel package seems to contain a xenlight.pc config file for pkg-config: https://cbs.centos.org/koji/buildinfo?buildID=27840 so it should work.
Can you paste the config.log section beginning with 'checking for LIBXL'?
On my Fedora 31 where I build with libxl it looks like this: configure:23591: checking for LIBXL configure:23598: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" configure:23601: $? = 0 configure:23615: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" configure:23618: $? = 0 configure:23666: result: yes configure:23718: checking libxlutil.h usability configure:23718: clang -c -g -ggdb3 conftest.c >&5 configure:23718: $? = 0 configure:23718: result: yes configure:23718: checking libxlutil.h presence configure:23718: clang -E conftest.c configure:23718: $? = 0 configure:23718: result: yes configure:23718: checking for libxlutil.h configure:23718: result: yes configure:23743: checking for xtl_createlogger_stdiostream in -lxentoollog configure:23768: clang -o conftest -g -ggdb3 conftest.c -lxentoollog -lutil -ltirpc -lpthread -ldl >&5 configure:23768: $? = 0 configure:23777: result: yes configure:23791: checking whether LIBXL_DOMAIN_TYPE_PVH is declared configure:23791: clang -c -g -ggdb3 conftest.c >&5 configure:23791: $? = 0 configure:23791: result: yes configure:23859: clang -o conftest -g -ggdb3 conftest.c -lutil -ltirpc -lpthread -ldl >&5 configure:23859: $? = 0 configure:23899: clang -o conftest -g -ggdb3 conftest.c -lutil -ltirpc -lpthread -ldl >&5 configure:23899: $? = 0
Jano

[adding Anthony PERARD to cc since his name is next to xen-4.12.2-1.el7's ChangeLog entry] Hi, Anthony! On Thu, Feb 20, 2020 at 07:10:38PM +0100, Christoph wrote:
https://wiki.centos.org/HowTos/Xen/Xen4QuickStart
configure:53501: checking for LIBXL configure:53508: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable
It seems like xenlight's .pc file is broken if it references a non-existent .pc file. Jano
Package 'xenblktapctl', required by 'Xenlight', not found configure:53511: $? = 1 configure:53525: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable Package 'xenblktapctl', required by 'Xenlight', not found configure:53528: $? = 1 configure:53542: result: no Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable Package 'xenblktapctl', required by 'Xenlight', not found
yum provides */xenblktapctl* shows: Loaded plugins: changelog, elrepo, fastestmirror, nvidia, rhnplugin This system is receiving updates from RHN Classic or Red Hat Satellite. No matches found
such a file doesnt exist in the pkgs...
but:
yum provides */*blktapctl* Loaded plugins: changelog, elrepo, fastestmirror, nvidia, rhnplugin This system is receiving updates from RHN Classic or Red Hat Satellite. xen-devel-4.12.0.30.gb4f291b0ca-1.el7.x86_64 : Development libraries for Xen tools Repo : centos7-x86_64-xen Matched from: Provides : libtool(/usr/lib64/libblktapctl.la) Filename : /usr/lib64/libblktapctl.la Filename : /usr/lib64/libblktapctl.so
xen-libs-4.12.2-1.el7.x86_64 : Libraries for Xen tools Repo : centos7-x86_64-xen Matched from: Filename : /usr/lib64/libblktapctl.so.0.1.1 Filename : /usr/lib64/libblktapctl.so.0
etc... --- ------ Greetz
Am 20.02.2020 16:11, schrieb Ján Tomko:
On Thu, Feb 20, 2020 at 12:40:35PM +0100, Christoph wrote:
I use centos 7 (7.7.1908).
these pkgs are installed:
xen-hypervisor-4.12.2-1.el7.x86_64 xen-devel-4.12.2-1.el7.x86_64 qemu-xen-4.12.1-1.el7.x86_64 xen-runtime-4.12.2-1.el7.x86_64 xen-licenses-4.12.2-1.el7.x86_64 xen-4.12.2-1.el7.x86_64 xen-libs-4.12.2-1.el7.x86_64 xen-ovmf-20180825-1.gitef529e6ab.el7.x86_64
Interesting, I did not know these packages existed.
even with --with-libxl it doesnt work...
There was a bug in our code that ignored the error even if --with-libxl was requested, patch sent: https://www.redhat.com/archives/libvir-list/2020-February/msg00723.html
However the mentioned xen-devel package seems to contain a xenlight.pc config file for pkg-config: https://cbs.centos.org/koji/buildinfo?buildID=27840 so it should work.
Can you paste the config.log section beginning with 'checking for LIBXL'?
On my Fedora 31 where I build with libxl it looks like this: configure:23591: checking for LIBXL configure:23598: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" configure:23601: $? = 0 configure:23615: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" configure:23618: $? = 0 configure:23666: result: yes configure:23718: checking libxlutil.h usability configure:23718: clang -c -g -ggdb3 conftest.c >&5 configure:23718: $? = 0 configure:23718: result: yes configure:23718: checking libxlutil.h presence configure:23718: clang -E conftest.c configure:23718: $? = 0 configure:23718: result: yes configure:23718: checking for libxlutil.h configure:23718: result: yes configure:23743: checking for xtl_createlogger_stdiostream in -lxentoollog configure:23768: clang -o conftest -g -ggdb3 conftest.c -lxentoollog -lutil -ltirpc -lpthread -ldl >&5 configure:23768: $? = 0 configure:23777: result: yes configure:23791: checking whether LIBXL_DOMAIN_TYPE_PVH is declared configure:23791: clang -c -g -ggdb3 conftest.c >&5 configure:23791: $? = 0 configure:23791: result: yes configure:23859: clang -o conftest -g -ggdb3 conftest.c -lutil -ltirpc -lpthread -ldl >&5 configure:23859: $? = 0 configure:23899: clang -o conftest -g -ggdb3 conftest.c -lutil -ltirpc -lpthread -ldl >&5 configure:23899: $? = 0
Jano

On Fri, Feb 21, 2020 at 09:16:01AM +0100, Ján Tomko wrote:
[adding Anthony PERARD to cc since his name is next to xen-4.12.2-1.el7's ChangeLog entry]
Hi, Anthony!
On Thu, Feb 20, 2020 at 07:10:38PM +0100, Christoph wrote:
https://wiki.centos.org/HowTos/Xen/Xen4QuickStart
configure:53501: checking for LIBXL configure:53508: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable
It seems like xenlight's .pc file is broken if it references a non-existent .pc file.
Thanks for the report. Do you think it will be enough to simply remove the reference? libxenlight still depends on a blktap in the CentOS package, but it is a different one that don't have a .pc file. It is easier to remove the reference that to try to write a new .pc file :-). There is xen-4.12.2-2 package that should be available in the testing repo in a couple of hours. Thanks, -- Anthony PERARD

On Fri, Feb 21, 2020 at 11:07:54AM +0000, Anthony PERARD wrote:
On Fri, Feb 21, 2020 at 09:16:01AM +0100, Ján Tomko wrote:
[adding Anthony PERARD to cc since his name is next to xen-4.12.2-1.el7's ChangeLog entry]
Hi, Anthony!
On Thu, Feb 20, 2020 at 07:10:38PM +0100, Christoph wrote:
https://wiki.centos.org/HowTos/Xen/Xen4QuickStart
configure:53501: checking for LIBXL configure:53508: $PKG_CONFIG --exists --print-errors "xenlight >= 4.6.0" Package xenblktapctl was not found in the pkg-config search path. Perhaps you should add the directory containing `xenblktapctl.pc' to the PKG_CONFIG_PATH environment variable
It seems like xenlight's .pc file is broken if it references a non-existent .pc file.
Thanks for the report.
Do you think it will be enough to simply remove the reference?
It should be enough for dynamic linking. IIUC the dependencies in Requires.private only affect the pkg-config output when static linking is requested: https://people.freedesktop.org/~dbn/pkg-config-guide.html Jano
libxenlight still depends on a blktap in the CentOS package, but it is a different one that don't have a .pc file. It is easier to remove the reference that to try to write a new .pc file :-).
There is xen-4.12.2-2 package that should be available in the testing repo in a couple of hours.
Thanks,
-- Anthony PERARD
participants (3)
-
Anthony PERARD
-
Christoph
-
Ján Tomko