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.questi...@mailing.thruhere.net> > > To: freebsd-questions@freebsd.org > > Cc: Joe R. Jah <j...@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 _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"