libnsl.so.1

Mel Flynn mel.flynn+fbsd.questions at mailing.thruhere.net
Mon Sep 14 23:17:06 UTC 2009


On Tuesday 15 September 2009 00:02:50 Joe R. Jah wrote:
> Hello all,
> 
> I want to install a dispather module from Day Communique software on
> apache22.  The binaray mod_dispatcher.so is provided by Day as a 64 bit
> *NIX compatible module to place in apache22 module directory.  The mocule
> requires a shared library missing from system:
> 
> --8<--
> # apachectl -t
> httpd: Syntax error on line 827 of /usr/local/etc/apache22/httpd.conf:
> Cannot load /usr/local/libexec/apache22/mod_dispatcher.so into server:
> Shared object "libnsl.so.1" not found, required by "mod_dispatcher.so"
> --8<--
> 
> Does anyone know where to download libnsl.so.1, or from what port it can
> be installed?

nsl=name service library. All of it's functions are in FreeBSD implement in 
libc. If this mod_dispatcher.so is indeed loadable by FreeBSD's linker, then 
you can provide a dummy libnsl.so.1, like so:

$ cat <'EOF' >BSDmakefile
SHLIB=nsl
SHLIB_MAJOR=1
NO_MAN=yes
SRCS=nsl.c

.include <bsd.lib.mk>
EOF
$ cat <'EOF' >nsl.c
int nsl_dummy(void);

int nsl_dummy(void) { return 0; }
EOF

$ make; sudo make LIBDIR=/usr/local/lib install

The symbols it's looking for should be provided by libc, but if there's any 
undefined ones, this trickery gets a little dangerous and you're better off 
asking the developers for a native FreeBSD version.
-- 
Mel


More information about the freebsd-questions mailing list