]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: fix building error when building without libvirtd
authorWen Congyang <wency@cn.fujitsu.com>
Mon, 20 Jun 2011 02:48:07 +0000 (10:48 +0800)
committerWen Congyang <wency@cn.fujitsu.com>
Mon, 20 Jun 2011 07:52:11 +0000 (15:52 +0800)
When building libvirt without libvirtd, we will receive the following error
message:

make[3]: Entering directory `/home/wency/rpmbuild/BUILD/libvirt-0.9.2/tools'
  CC     virsh-virsh.o
  CC     virsh-console.o
  GEN    virt-xml-validate
  GEN    virt-pki-validate
  CCLD   virsh
./src/.libs/libvirt.so: undefined reference to `numa_available'
./src/.libs/libvirt.so: undefined reference to `numa_max_node'
collect2: ld returned 1 exit status

The reason is that: we check numactl only when building qemu driver, and qemu
driver will not be built when bulding without libvirtd. So with_numactl's
value is check and we will not link libnuma.so.

In the other function, we call numa_available() and numa_max_node() only
when HAVE_NUMACTL is 1. We should do the same check in the function nodeGetMemoryStats().

src/nodeinfo.c

index 647cb1ed3b52fa4e3e73171e10c9e4a264c6ad80..c6dbb84b9195a396af068f58e2f54daa6e38603f 100644 (file)
@@ -685,17 +685,23 @@ int nodeGetMemoryStats(virConnectPtr conn ATTRIBUTE_UNUSED,
                 return -1;
             }
         } else {
+#if HAVE_NUMACTL
             if (numa_available() < 0) {
+#endif
                 nodeReportError(VIR_ERR_NO_SUPPORT,
                                 "%s", _("NUMA not supported on this host"));
                 return -1;
+#if HAVE_NUMACTL
             }
+#endif
 
+#if HAVE_NUMACTL
             if (cellNum > numa_max_node()) {
                 nodeReportError(VIR_ERR_INVALID_ARG, "%s",
                                 _("Invalid cell number"));
                 return -1;
             }
+#endif
 
             if (virAsprintf(&meminfo_path, "%s/node%d/meminfo",
                             NODE_SYS_PATH, cellNum) < 0) {