Date: Tue, 15 Sep 2009 14:29:04 +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: <200909151429.04818.mel.flynn%2Bfbsd.questions@mailing.thruhere.net> In-Reply-To: <20090914173958.C21417@cloud.ccsf.cc.ca.us> References: <20090914145447.K63280@cloud.ccsf.cc.ca.us> <200909150117.03050.mel.flynn%2Bfbsd.questions@mailing.thruhere.net> <20090914173958.C21417@cloud.ccsf.cc.ca.us>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 15 September 2009 02:43:32 Joe R. Jah wrote: > On Tue, 15 Sep 2009, Mel Flynn wrote: > > 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 > > > > 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. > > Thank you Mel. You were right about undefined ones; Here's what I get: > > --8<-- > apachectl -t > httpd: Syntax error on line 826 of /usr/local/etc/apache22/httpd.conf: > Cannot load /usr/local/libexec/apache22/mod_dispatcher.so into server: > /usr/local/libexec/apache22/mod_dispatcher.so: Undefined symbol "__strdup" > --8<-- > > Any more trickeries?;-) Sure, add #define __strdup strdup to nsl.c, however this road is not likely to end soon. It seems to be compiled for a linux system, at least for a SYSV system, while FreeBSD follows '4.4BSD'. -- Mel
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200909151429.04818.mel.flynn%2Bfbsd.questions>