Bug 473070

Summary: libvirt 0.5.0 does not build on F-10 when numactl-devel is installed
Product: [Community] Virtualization Tools Reporter: Chris Lalancette <clalance>
Component: libvirtAssignee: Daniel Veillard <veillard>
Status: CLOSED UPSTREAM QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: berrange, crobinso
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-02 16:42:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Chris Lalancette 2008-11-26 13:44:10 UTC
Description of problem:
With numactl-2.0.2-2.fc10 on F-10, libvirt 0.5.0 fails to build with an error in src/qemu_conf.c:

 gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/include/libxml2 -DLIBDIR=\"/usr/local/lib\" -DBINDIR=\"/usr/local/libexec\" -DSBINDIR=\"/usr/local/sbin\" -DSYSCONF_DIR=\"/usr/local/etc\" -DLOCALEBASEDIR=\"/usr/local/share/locale\" -DLOCAL_STATE_DIR=\"/usr/local/var\" -DGETTEXT_PACKAGE=\"libvirt\" -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -g -O2 -MT libvirt_driver_qemu_la-qemu_conf.lo -MD -MP -MF .deps/libvirt_driver_qemu_la-qemu_conf.Tpo -c qemu_conf.c  -fPIC -DPIC -o .libs/libvirt_driver_qemu_la-qemu_conf.o
qemu_conf.c: In function 'qemudCapsInitNUMA':
qemu_conf.c:325: warning: passing argument 2 of 'numa_node_to_cpus' from incompatible pointer type
qemu_conf.c:325: error: too many arguments to function 'numa_node_to_cpus'

This is because the function signature for numa_node_to_cpus changed between F-9 and F-10, and libvirt is still using the older calling signature.  Part of the problem is that numactl changed the function signature without bumping the .so version.  The koji build of 0.5.0 actually doesn't suffer this problem because of a missing BuildRequire for the libvirt package.

Ideally, I think we should:
1)  Add a BuildRequire: numactl-devel in libvirt.spec
2)  Add --without-numactl to libvirt.spec for the time being
3)  Get numactl to properly change the .so version
4)  Fix the libvirt code to be able to use the new function signature.

Comment 1 Cole Robinson 2008-12-02 16:42:04 UTC
Dan fixed this upstream:

http://git.et.redhat.com/?p=libvirt.git;a=commit;h=05bd105d14dd1ec7d10ef2c8536cde325db1cb9a

Closing as UPSTREAM.