On Mon, Jun 20, 2011 at 10:48:07AM +0800, Wen Congyang wrote: > 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 | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/src/nodeinfo.c b/src/nodeinfo.c > index 647cb1e..c6dbb84 100644 > --- a/src/nodeinfo.c > +++ b/src/nodeinfo.c > @@ -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) { ACK, Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list