Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Sep 2009 01:17:02 +0200
From:      Mel Flynn <mel.flynn+fbsd.questions@mailing.thruhere.net>
To:        freebsd-questions@freebsd.org
Cc:        "Joe R. Jah" <jjah@cloud.ccsf.cc.ca.us>
Subject:   Re: libnsl.so.1
Message-ID:  <200909150117.03050.mel.flynn%2Bfbsd.questions@mailing.thruhere.net>
In-Reply-To: <20090914145447.K63280@cloud.ccsf.cc.ca.us>
References:  <20090914145447.K63280@cloud.ccsf.cc.ca.us>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909150117.03050.mel.flynn%2Bfbsd.questions>