On Wednesday 20 February 2008 12:50 am, Rich Megginson wrote:
> Now, I'm not sure why nspr is reporting it's true
version number, while
> nss is reporting the 1.8.0 version when it should be something like 3.10
> or 3.11.
Because the debian etch nspr and nss are not "true" standalone NSPR and
NSS packages - they are designed to work with xulrunner. This is
similar to the situation in RHEL4 and older Fedora when nspr and nss
were "provided" by firefox, but not really useful for building other
apps to use them.
> And, I've been digging on the debian packages listings trying to figure
> out just which version nss is. Any idea how to pull the version number
> right out of the shared lib?
I'm not sure, but it looks to be a fairly recent NSS so that's ok.
This is good news.
> Anyhow I moved on to try and build the next component,
> svrcore.
>
> I had to do some fudging with pkg-config (ln -s xulrunner-nspr.pc nspr.pc
> and ln -s xulrunner-nss.pc nss.pc) in order for svrcore's configure to
> work (prolly a RH vs debian package naming issue).
The package for nspr should be called "nspr" (the real name) or
"libnspr4" (the name of the package in debian). "xulrunner-nspr" is
simply wrong.
At any rate, you don't have to jump through these hoops with ln -s. You
can just use
svrcore/configure --with-nspr-inc=/usr/include/nspr
--with-nss-inc=/usr/include/nss
I don't think you will have to use --with-nspr-lib and --with-nss-lib
since it should just find them in /usr/lib.
Use svrcore/configure --help to see all of the available options.
When I try to recreate the build I'll definitely try this.
You should have used SVRCORE_SOURCE=1 MOZLDAP_SOURCE=1
PERLDAP_SOURCE=1
by default, it will attempt to build and install into /opt/fedora-ds
I'll try having dsbuild create those packages next time.
> Here are the snmp packages installed
> ywgbuild:/usr/src/dsbuild/meta/ds# dpkg -l|grep snmp
> ii libsnmp-base 5.2.3-7etch2
> NET SNMP (Simple Network Management Protocol
> ii libsnmp-perl 5.2.3-7etch2
> NET SNMP (Simple Network Management Protocol
> ii libsnmp9 5.2.3-7etch2
> NET SNMP (Simple Network Management Protocol
> ii libsnmp9-dev 5.2.3-7etch2
> NET SNMP (Simple Network Management Protocol
>
> I've sent the last portion of the build process to pastebin if you want
> to have a look at
>
>
http://www.pastebin.org/20301
>
> but the guts of the issue is this
>
> 3]: Entering directory
> `/usr/src/dsbuild/ds/ldapserver/work/fedora-ds-base-1.1.0'
> /bin/sh ./libtool --tag=CC --mode=link gcc -g -o ldap-agent-bin
> ldap/servers/snmp/ldap_agent_bin-main.o
> ldap/servers/snmp/ldap_agent_bin-ldap-agent.o
> ldap/servers/slapd/ldap_agent_bin-agtmmap.o -lssldap60 -lprldap60
> -lldap60 -lldif60 -lsasl2 -lssl3 -lnss3 -lsoftokn3 -lplc4 -lplds4 -lnspr4
> -L/usr/lib -lnetsnmpmibs -lnetsnmpagent -lnetsnmphelpers -lnetsnmp -lm
> -ldl -lsensors -lwrap -lwrap gcc -g -o ldap-agent-bin
> ldap/servers/snmp/ldap_agent_bin-main.o
> ldap/servers/snmp/ldap_agent_bin-ldap-agent.o
> ldap/servers/slapd/ldap_agent_bin-agtmmap.o -lssldap60 -lprldap60
> -lldap60 -lldif60 /usr/lib/libsasl2.so -lresolv -lssl3 -lnss3 -lsoftokn3
> -lplc4 -lplds4 -lnspr4 -L/usr/lib /usr/lib/libnetsnmpmibs.so
> /usr/lib/libnetsnmpagent.so /usr/lib/libnetsnmphelpers.so
> /usr/lib/libnetsnmp.so -lcrypto -lm -ldl -lsensors -lwrap
> ldap/servers/snmp/ldap_agent_bin-ldap-agent.o: In function
> `init_ldap_agent': ldap/servers/snmp/ldap-agent.c:98: undefined reference
> to `CONTAINER_INSERT' collect2: ld returned 1 exit status
> make[3]: *** [ldap-agent-bin] Error 1
> make[3]: Leaving directory
> `/usr/src/dsbuild/ds/ldapserver/work/fedora-ds-base-1.1.0'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory
> `/usr/src/dsbuild/ds/ldapserver/work/fedora-ds-base-1.1.0'
> make[1]: *** [build-work/fedora-ds-base-1.1.0/Makefile] Error 2
> make[1]: Leaving directory `/usr/src/dsbuild/ds/ldapserver'
> make: *** [dep-../../ds/ldapserver] Error 2
> make[
>
> Any ideas?
Looks like perhaps NETSNMP_USE_INLINE is not defined for some reason -
it expects CONTAINER_INSERT to be defined inline, but it's not, and not
defined in any libraries either. Looks like on debian it expects you to
define NETSNMP_USE_INLINE=1 explicitly even though it looks as though it
was built that way. On RHEL/Fedora, it looks like the
NETSNMP_USE_INLINE is implicit.
Where would I have to define that? I tried adding
DS_CONFIGURE_ARGS = NETSNMP_USE_INLINE=1
to ds.conf.mk and that didn't work.
Ryan Braun
Informatics Operations
Aviation and Defence Services Division
Chief Information Officer Branch, Environment Canada
CIV: (204) 833-2500x2824 CSN: 257-2824 FAX: (204) 833-2524
E-Mail: Ryan.Braun(a)ec.gc.ca