[Fedora-directory-users] notes on building fds in etch and a failed build question

Ryan Braun Ryan.Braun at ec.gc.ca
Wed Feb 20 17:24:29 UTC 2008


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 at ec.gc.ca




More information about the 389-users mailing list