[libvirt] compiling one driver

Hello, I'm having problems to compile libvirt with opennebula driver. I executed: ./autogen.sh --with-one and got the following message: configure: error: You must install XMLRPC-C >= 1.14.0 to compile libvirt ONE driver but I already have installed libxmlrpc version 1.16.07-1 Where to configure this? I've tried to set the environment variables XMLRPC_CFLAGS and XMLRPC_LIBS, but nothing has changed. So I've tried to change these variables directly on configure script, that was empty, then errors started to appear on make execution: ../src/.libs/libvirt_driver_one.a(libvirt_driver_one_la-one_client.o): In function `c_oneFree': /home/objectweb/git/libvirt/src/./opennebula/one_client.c:207: undefined reference to `xmlrpc_env_clean' /home/objectweb/git/libvirt/src/./opennebula/one_client.c:208: undefined reference to `xmlrpc_client_cleanup' ../src/.libs/libvirt_driver_one.a(libvirt_driver_one_la-one_client.o): In function `c_oneReturnCode': /home/objectweb/git/libvirt/src/./opennebula/one_client.c:49: undefined reference to `xmlrpc_decompose_value' .....etc... What am I doing wrong?? Thanks, Henrique Teófilo

Henrique Teófilo wrote:
Hello,
I'm having problems to compile libvirt with opennebula driver.
I executed: ./autogen.sh --with-one and got the following message: configure: error: You must install XMLRPC-C >= 1.14.0 to compile libvirt ONE driver
You have to install the xmlrpc-c development package. On Fedora it's called "xmlrpc-c-devel"; it might be called something different on your distro. -- Chris Lalancette

2009/8/6 Chris Lalancette <clalance@redhat.com>:
Henrique Teófilo wrote:
Hello,
I'm having problems to compile libvirt with opennebula driver.
I executed: ./autogen.sh --with-one and got the following message: configure: error: You must install XMLRPC-C >= 1.14.0 to compile libvirt ONE driver
You have to install the xmlrpc-c development package. On Fedora it's called "xmlrpc-c-devel"; it might be called something different on your distro.
-- Chris Lalancette
Well, the basic problem seems to be that xmlrpc-c by itself doesn't provide a .pc file for pkg-config, but has its own script for this task called xmlrpc-c-config: xmlrpc-c-config client --cflags xmlrpc-c-config client --libs So, Fedora seems to provide an .pc file for xmlrpc-c so that this works on Fedora: PKG_CHECK_MODULES(XMLRPC, xmlrpc_client >= $XMLRPC_REQUIRED, ...) But other distros don't provide a .pc or only provide an old version of xmlrpc-c, like Ubuntu. Ubuntu only provides 1.06 without an additional .pc file. So I build 1.17 from source, but that doesn't help as there is no .pc file for xmlrpc-c. I think the check in configure.in should be changed to use xmlrpc-c-config instead of pkg-config. Matthias

On Thu, Aug 06, 2009 at 10:37:57AM +0200, Matthias Bolte wrote:
Well, the basic problem seems to be that xmlrpc-c by itself doesn't provide a .pc file for pkg-config, but has its own script for this task called xmlrpc-c-config:
xmlrpc-c-config client --cflags xmlrpc-c-config client --libs
Okay
So, Fedora seems to provide an .pc file for xmlrpc-c so that this works on Fedora:
PKG_CHECK_MODULES(XMLRPC, xmlrpc_client >= $XMLRPC_REQUIRED, ...)
But other distros don't provide a .pc or only provide an old version of xmlrpc-c, like Ubuntu. Ubuntu only provides 1.06 without an additional .pc file. So I build 1.17 from source, but that doesn't help as there is no .pc file for xmlrpc-c.
I think the check in configure.in should be changed to use xmlrpc-c-config instead of pkg-config.
Hum, yes if the .pc is not upstream, that's logical, though IMHO it's probably time better spent to try to get a .pc in xmlrpc-c upstream. And then add a xmlrpc-c-config based check in configure.in if PKG_CHECK_MODULES fails. Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

Ok, I created a .pc file with the output of xmlrpc-c-config (now pkg-config xmlrpc_client --libs --cflags is OK). The error occurs not in configure execution, but in make execution as a linking error like that: undefined reference to `xmlrpc_client_call and several others similar (as I said in the first message) I have installed the latest version of xmlrpc compiled from source. Any idea? On Thu, Aug 6, 2009 at 7:25 AM, Daniel Veillard <veillard@redhat.com> wrote:
On Thu, Aug 06, 2009 at 10:37:57AM +0200, Matthias Bolte wrote:
Well, the basic problem seems to be that xmlrpc-c by itself doesn't provide a .pc file for pkg-config, but has its own script for this task called xmlrpc-c-config:
xmlrpc-c-config client --cflags xmlrpc-c-config client --libs
Okay
So, Fedora seems to provide an .pc file for xmlrpc-c so that this works on Fedora:
PKG_CHECK_MODULES(XMLRPC, xmlrpc_client >= $XMLRPC_REQUIRED, ...)
But other distros don't provide a .pc or only provide an old version of xmlrpc-c, like Ubuntu. Ubuntu only provides 1.06 without an additional .pc file. So I build 1.17 from source, but that doesn't help as there is no .pc file for xmlrpc-c.
I think the check in configure.in should be changed to use xmlrpc-c-config instead of pkg-config.
Hum, yes if the .pc is not upstream, that's logical, though IMHO it's probably time better spent to try to get a .pc in xmlrpc-c upstream.
And then add a xmlrpc-c-config based check in configure.in if PKG_CHECK_MODULES fails.
Daniel
-- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/
-- Libvir-list mailing list Libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
participants (4)
-
Chris Lalancette
-
Daniel Veillard
-
Henrique Teófilo
-
Matthias Bolte