On Fri, 9 Aug 2013 14:47:36 +0900 Simon Horman <horms@xxxxxxxxxxxx> wrote: > On Thu, Aug 08, 2013 at 03:00:17PM -0500, Ryan O'Hara wrote: > > On Thu, Aug 08, 2013 at 02:10:54PM +0200, Jesper Dangaard Brouer wrote: > > > Some distros have not moved to libnl3 yet. Add a fallback option > > > for compiling on distro's with only libnl1. > > > > > > Using pkg-config to detect what versions of libnl is available. > > > > > > Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> > > > > This patch looks fine, but I think it only solves part of the > > problem. The Makefile still contains following code: This, patch only address making libnl1 work again. > > ifneq (0,$(HAVE_NL)) > > LIBS += -lnl > > endif > > > > First, I think the HAVE_NL conditional can be removed. But more > > importantly the correct netlink library should be appended to the > > LIBS variable. With the current code we'll always link against > > libnl-1. True. It seems to me that the libnl3 work have not been fully completed. And the reason Simon send the "Allow override of CFLAGS", which allowed him to compile with libnl3 via: make CFLAGS='-I/usr/include/libnl3' LIBS='-lnl-3 -lnl-genl-3 -lpopt' > > On Fedora with both libnl and libnl-3 installed: > > > > $ pkg-config --libs libnl-3.0 > > -lnl-3 > > $ pkg-config --libs libnl-1 > > -lnl > > > > Ryan > > Daniel could you amend your patch or provide a second patch > to use pkg-confog for LIBS too. It seems like a good idea to me. I think a second patch, to address libnl3 issues would be best. > > > --- > > > libipvs/Makefile | 5 +++++ > > > libipvs/libipvs.c | 5 +++++ > > > 2 files changed, 10 insertions(+) > > > > > > diff --git a/libipvs/Makefile b/libipvs/Makefile > > > index a527a7f..eafc3e5 100644 > > > --- a/libipvs/Makefile > > > +++ b/libipvs/Makefile > > > @@ -10,6 +10,11 @@ INCLUDE += $(shell if [ -f ../../ip_vs.h ]; then \ > > > echo "-I../../."; fi;) > > > DEFINES = $(shell if [ ! -f ../../ip_vs.h ]; then \ > > > echo "-DHAVE_NET_IP_VS_H"; fi;) > > > +DEFINES += $(shell if which pkg-config > /dev/null 2>&1; then \ > > > + if pkg-config --exists libnl-3.0; then :; \ > > > + elif pkg-config --exists libnl-2.0; then :; \ > > > + elif pkg-config --exists libnl-1; \ > > > + then echo "-DFALLBACK_LIBNL1"; fi; fi) > > > > > > .PHONY = all clean install dist distclean rpm rpms > > > STATIC_LIB = libipvs.a > > > diff --git a/libipvs/libipvs.c b/libipvs/libipvs.c > > > index c3c3b0a..2b066d2 100644 > > > --- a/libipvs/libipvs.c > > > +++ b/libipvs/libipvs.c > > > @@ -32,6 +32,11 @@ static void* ipvs_func = NULL; > > > struct ip_vs_getinfo ipvs_info; > > > > > > #ifdef LIBIPVS_USE_NL > > > +#ifdef FALLBACK_LIBNL1 > > > +#define nl_sock nl_handle > > > +#define nl_socket_alloc nl_handle_alloc > > > +#define nl_socket_free nl_handle_destroy > > > +#endif > > > static struct nl_sock *sock = NULL; > > > static int family, try_nl = 1; > > > #endif > > > > > -- Best regards, Jesper Dangaard Brouer MSc.CS, Sr. Network Kernel Developer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer -- To unsubscribe from this list: send the line "unsubscribe lvs-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html