
to fix libnl detection --- Thanks Eric! On Thu, Sep 13, 2012 at 06:18:39AM -0600, Eric Blake wrote:
On 09/13/2012 01:15 AM, Guido Günther wrote:
Since this went in ./configure fails on Debian with a netcf linked against libnl1:
Where does libnl.so live on your platform? Is it just a matter of expanding the for loop to find the library to run ldd on?
configure:66413: result: no No package 'libnl-3.0' found configure:66429: error: Package requirements (libnl-3.0) were not met:
Ah, I think I know how to fix this one. PKG_CHECK_MODULES defaults to a fatal error unless we supply a non-empty fourth argument. Does this patch do it?
diff --git i/configure.ac w/configure.ac index 690de2a..fd89bfc 100644 --- i/configure.ac +++ w/configure.ac @@ -2924,7 +2924,7 @@ if test "$with_linux" = "yes"; then PKG_CHECK_MODULES([LIBNL_ROUTE3], [libnl-route-3.0]) LIBNL_CFLAGS="$LIBNL_CFLAGS $LIBNL_ROUTE3_CFLAGS" LIBNL_LIBS="$LIBNL_LIBS $LIBNL_ROUTE3_LIBS" - ], []) ;; + ], [:]) ;; esac if test "$have_libnl" = no; then PKG_CHECK_MODULES([LIBNL], [libnl-1 >= $LIBNL_REQUIRED], [
I checked for libnetcf.so which is in /usr/lib/ but not for libnl1 which is already in a multiarch directory (`/usr/lib/i386-linux-gnu/libnl.so). So this fixes it: configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index b5666a5..dcbe14f 100644 --- a/configure.ac +++ b/configure.ac @@ -2908,7 +2908,7 @@ if test "$with_linux" = "yes"; then # (Setting LIBNL_CFLAGS is already used by PKG_CHECK_MODULES to # override any probing, so if it set, you know which libnl is in use.) libnl_ldd= - for dir in /usr/lib64 /usr/lib; do + for dir in /usr/lib64 /usr/lib /usr/lib/*/libnl.so; do if test -f $dir/libnetcf.so; then libnl_ldd=`(ldd $dir/libnetcf.so) 2>&1` break -- 1.7.10.4