On Tue, Aug 28, 2012 at 04:05:36PM +0800, Daniel Veillard thus
spake:
> I don't like too much the idea of adding kernel defines in our headers.
>Basically this is all due to commits
>d57567940153147f4d43875fb92c3030b3178b03 and
>080bf330e3749d94ebe094f8deca0e3e67d3f2fe
>
> The fact that it breaks only in daemon.c, i.e. after the library
> compiled is a good infocation that the guards
>#if WITH_VIRTUALPORT in src/util/virnetdevvportprofile.c
>#if WITH_MACVTAP in src/util/virnetdevmacvlan.c
>and
>#if defined(__linux__) && defined(HAVE_LIBNL) &&
defined(IFLA_VF_MAX)
> in src/util/virnetdev.c
>
>seems sufficient to avoid the portability problem in those files
>and the remaining problem is really about daemon/libvirtd.c and
>I would suggest a fix along those lines:
>
>Daniel
>
>diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
>index 19dd26b..352d4fe 100644
>--- a/daemon/libvirtd.c
>+++ b/daemon/libvirtd.c
>@@ -1312,17 +1312,21 @@ int main(int argc, char **argv) {
> goto cleanup;
> }
>
>+#if defined(__linux__) && defined(NETLINK_ROUTE)
> /* Register the netlink event service for NETLINK_ROUTE */
> if (virNetlinkEventServiceStart(NETLINK_ROUTE, 0) < 0) {
> ret = VIR_DAEMON_ERR_NETWORK;
> goto cleanup;
> }
>+#endif
>
>+#if defined(__linux__) && defined(NETLINK_KOBJECT_UEVENT)
> /* Register the netlink event service for NETLINK_KOBJECT_UEVENT */
> if (virNetlinkEventServiceStart(NETLINK_KOBJECT_UEVENT, 1) < 0) {
> ret = VIR_DAEMON_ERR_NETWORK;
> goto cleanup;
> }
>+#endif
>
> /* Run event loop. */
> virNetServerRun(srv);
>--
>Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
>daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
>http://veillard.com/ | virtualization library
http://libvirt.org/
>
This is building as expected with your new patch for FreeBSD. Here is a link
to the build logs.
https://redports.org/buildarchive/20120828164025-20179/
Thanks Justin and Jason for the feedback !
I pushed as a result :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit