Re: [PATCH] Fix libnl/libnl-3 logic in configure script
"Ryan O'Hara" <[email protected]>
| Newsgroups | gmane.linux.keepalived.devel |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Jan 06, 2014 at 11:08:37AM -0600, Ryan O'Hara wrote: > This patch causes the configure script to prefer libnl-3 over > libnl(1). The configure script will first check for libnl-3 and > libnl-genl-3. If both are found, use them. If not, check for > libnl(1). This is useful when building on systems that have both > libnl-3 and libnl(1) installed. It also fixes some redundant libraries > in LIBS. By the way, there is probably a better way to do this. I know that AC_CHECK_LIB will add -l<lib> to LIBS automatically and set a variable, but this is a quick fix. Also note that it might be possible to simply check for libnl-genl-3 since it requires libnl-3. For now, check for both. I will submit a pull request over on github with an udpated configure script. Ryan > --- > configure.in | 32 ++++++++++++++++---------------- > 1 file changed, 16 insertions(+), 16 deletions(-) > > diff --git a/configure.in b/configure.in > index 3daf3ee..7f3eef1 100644 > --- a/configure.in > +++ b/configure.in > @@ -55,30 +55,30 @@ dnl ----[ Checks for libraries ]---- > AC_CHECK_LIB(crypt, crypt,,AC_MSG_ERROR([crypt() function is required])) > AC_CHECK_LIB(crypto, MD5_Init,,AC_MSG_ERROR([OpenSSL libraries are required])) > AC_CHECK_LIB(ssl, SSL_CTX_new,,AC_MSG_ERROR([OpenSSL libraries are required])) > -AC_CHECK_LIB(nl, nl_socket_modify_cb, > + > +AC_CHECK_LIB(nl-3, nl_socket_alloc, > [ > - USE_NL="LIBIPVS_USE_NL" > - CFLAGS="$CFLAGS -DFALLBACK_LIBNL1" > - LIBS="$LIBS -lnl" > + AC_CHECK_LIB(nl-genl-3, genl_connect, > + [ > + USE_NL="LIBIPVS_USE_NL" > + CFLAGS="$CFLAGS $(pkg-config libnl-genl-3.0)" > + LIBS="$LIBS $(pkg-config --libs libnl-genl-3.0)" > + ], > + [ > + AC_MSG_ERROR([libnl-3 is installed but not libnl-gen-3. Please, install libnl-gen-3.]) > + ]), > ], > - [AC_CHECK_LIB(nl-3, nl_socket_alloc, > + AC_CHECK_LIB(nl, nl_socket_modify_cb, > [ > USE_NL="LIBIPVS_USE_NL" > - CFLAGS="$CFLAGS $(pkg-config --libs --cflags libnl-3.0)" > - LIBS="$LIBS -lnl-3" > - AC_CHECK_LIB(nl-genl-3, genl_connect, > - [ > - LIBS="$LIBS -lnl-3 -lnl-genl-3" > - ], > - [ > - AC_MSG_ERROR([libnl-3 is installed but not libnl-gen-3. Please, install libnl-gen-3.]) > - ]) > + CFLAGS="$CFLAGS -DFALLBACK_LIBNL1" > + LIBS="$LIBS $(pkg-config --libs libnl-1)" > ], > - [ > + [ > USE_NL="LIBIPVS_DONTUSE_NL" > AC_MSG_WARN([keepalived will be built without libnl support.]) > ]) > - ]) > +]) > > dnl ----[ Kernel version check ]---- > CPPFLAGS="$CPPFLAGS -I$kernelinc" > -- > 1.8.1.4 > ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk