On (11/13/12 17:47), Austin Zhang wrote:
> why we check 'libnl-3.0 >= 3.0 libnl-genl-3.0 >= 3.0' and only
'libnl-2.0',
Because for v2, it just have�separated�libnl-genl library, but there were
no�separated pkg named�libnl-genl-2.0.
>+AC_SEARCH_LIBS([genl_connect], [nl-genl nl], [], [has_libnl_ver=0])
With additional 'nl' checking, It doesn't help. Failed with same error
under both v3 and v2 cases for 12.04 (doesn't try others).�
If fact, genl_connect is in nl-genl both for v2 and v3. Not sure if it is
some search path issue.�
hm. ok, thanks for info. I'll check libnl 2.0 repo if they ever had pkg-config file
other than libnl-2.0.pc. If the only one they provide is libnl-2.0.pc then we'll
stick
with inital PKG_CHECK_MODULES rework and your adjustment to libnl-2.0 case.
thanks for your patience and help!
Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky(a)gmail.com>
---
configure.ac | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
index b8c183f..e6ae3ce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,15 +54,11 @@ PKG_CHECK_MODULES([PCIUTILS], [libpci],[has_libpci=1],[
has_libnl_ver=0
-PKG_CHECK_MODULES([LIBNL], [libnl-3.0 libnl-genl-3.0], [
- has_libnl_ver=3], [
- AC_SEARCH_LIBS([nl_socket_alloc], [nl-3 nl-genl-3], [
- has_libnl_ver=3], [
- AC_SEARCH_LIBS([nl_socket_alloc], [nl], [
- has_libnl_ver=2], [
- PKG_CHECK_MODULES([LIBNL], [libnl-1], [has_libnl_ver=1], [])])])])
+PKG_CHECK_MODULES([LIBNL], [libnl-3.0 >= 3.0 libnl-genl-3.0 >= 3.0],
[has_libnl_ver=3], [
+ PKG_CHECK_MODULES([LIBNL], [libnl-2.0 >= 2.0], [has_libnl_ver=2], [
+ PKG_CHECK_MODULES([LIBNL], [libnl-1.0], [has_libnl_ver=1], [has_libnl_ver=0])])])
if (test "$has_libnl_ver" -eq 0); then
- AC_MSG_ERROR(libnl is required but not found)
+ AC_MSG_ERROR(libnl and libnl-genl are required but were not found)
fi
if (test "$has_libnl_ver" -gt 1); then
AC_DEFINE([HAVE_LIBNL20], [1], [Define if you have libnl-2.0 or higher])