Opened 3 months ago

Closed 2 months ago

#20959 closed task (fixed)

is libnl a dependency for nfs-utils?

Reported by: thomas Owned by: thomas
Priority: low Milestone: 12.3
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

Need to (re)check, whether libnl is an optional, recommended or even a required dep to nfs-utils. I have it in my build scripts as a build requirement and a user on #lfs asked the exact same question. So maybe a dep is missing in the book.

Change History (4)

comment:1 by Bruce Dubbs, 3 months ago

It looks like nfs-utils-2.8.2 does look for libnl-3.0 >= 3.1. Generally on a new build I do nfs-utils early. My logs show no reference to libnl in nfs-utils-2.7.1, but for nfs-utils-2.8.2 and nfs-utils-2.8.1 it does look for, and use it.

I cannot tell what dependency category it should be. I suspect optional. I found this in configure.ac:

AC_ARG_ENABLE(nfsdctl,
   [AS_HELP_STRING([--disable-nfsdctl],[disable nfsdctl program for controlling nfsd@<:@default=no@:>@])],
   enable_nfsdctl=$enableval,
   enable_nfsdctl="yes")
   AM_CONDITIONAL(CONFIG_NFSDCTL, [test "$enable_nfsdctl" = "yes" ])
   if test "$enable_nfsdctl" = yes; then
      PKG_CHECK_MODULES(LIBNL3, libnl-3.0 >= 3.1)
      PKG_CHECK_MODULES(LIBNLGENL3, libnl-genl-3.0 >= 3.1)
      PKG_CHECK_MODULES(LIBREADLINE, readline)
      AC_CHECK_HEADERS(linux/nfsd_netlink.h)
   
      # ensure we have the pool-mode commands
      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <linux/nfsd_netlink.h>]],
                               [[int foo = NFSD_CMD_POOL_MODE_GET;]])],
               [AC_DEFINE([USE_SYSTEM_NFSD_NETLINK_H], 1,
                     ["Use system's linux/nfsd_netlink.h"])])
   fi

so, at most, I'd say it is only used for the nfs server.

comment:2 by thomas, 3 months ago

Owner: changed from blfs-book to thomas
Status: newassigned

comment:3 by thomas, 2 months ago

trying to configure on a system without installed libnl:

./configure ...<options as in book>
...
checking for libnl-3.0 >= 3.1... no
configure: error: Package requirements (libnl-3.0 >= 3.1) were not met:

Package 'libnl-3.0' not found
...

As there is no option like --disable-nl or something like that i tend to think the category is required.

Last edited 2 months ago by thomas (previous) (diff)

comment:4 by thomas, 2 months ago

Resolution: fixed
Status: assignedclosed

Added libnl as required dep in [2a25ed6192]

Note: See TracTickets for help on using tickets.