[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 18:14:19 UTC 2008


On Wednesday 20 February 2008 5:46 pm, Rich Megginson wrote:
> Ryan Braun wrote:
> > <snip>
> >
> >> Use svrcore/configure --help to see all of the available options.
> >
> > When I try to recreate the build I'll definitely try this.
>
> I'm hoping that we can get dsbuild to the point where it will hide this
> stuff and "just work".

I just tried it starting from scratch and it built svrcore, perl-ldap and 
mozldap for me without a hitch.  Well aside from me not having the 
required -dev packages on this box I tried the last attempt :)

>
> >> 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.
>
> BTW, thanks for going through this process, and I apologize that I
> haven't had time to properly document how to use dsbuild.  Would you be
> able to document what you've found, perhaps in the wiki on the
> Debian/Ubuntu page?  If not, then just keep the emails coming.

Once I get it built and working I'd be more then happy to whip up a debian 
page on the wiki.  I'm trying to keep some detailed notes on the process so I 
should have something to add to the page.

> >> 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
>
> Try adding
> DS_CONFIGURE_ENV += CPPFLAGS=-DNETSNMP_USE_INLINE=1
> to somewhere around line 21 of dsbuild/ds/Makefile
>
> I think the proper solution will be to modify the ldapserver code to
> allow for net-snmp specific compiler and linker flags.  But this will at
> least make the definition as localized as possible.
>

I added that line to /usr/src/dsbuild/ds/ldapserver/Makefile.  Which is what I 
*think* you meant.  I then tried to start the dsbuild process over having 
dsbuild handle svrcore, perl/mozldap and it errors at the same point again.

But I could have added that line to the wrong file :)

infinity:/usr/src/dsbuild/meta/ds# make SVRCORE_SOURCE=1 MOZLDAP_SOURCE=1 
PERLDAP_SOURCE=1
[===== NOW BUILDING:     ds-1.1.0       =====]
        [fetch] complete for ds.
        [checksum] complete for ds.
        [extract] complete for ds.
        [patch] complete for ds.
 ==> Building ds/svrcore as a dependency
 ==> Building ds/mozldap as a dependency
 ==> Building ds/perldap as a dependency
 ==> Building ds/ldapserver as a dependency
cat: /etc/redhat-release: No such file or directory
make[1]: Entering directory `/usr/src/dsbuild/ds/ldapserver'
[===== NOW BUILDING:     fedora-ds-base-1.1.0   =====]
        [fetch] complete for fedora-ds-base.
        [checksum] complete for fedora-ds-base.
        [extract] complete for fedora-ds-base.
        [patch] complete for fedora-ds-base.
        [configure] complete for fedora-ds-base.
 ==> Running make in work/fedora-ds-base-1.1.0
make[2]: Entering directory 
`/usr/src/dsbuild/ds/ldapserver/work/fedora-ds-base-1.1.0'
make  all-am
make[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 -L/opt/dirsrv/lib -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  -L/opt/dirsrv/lib -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




More information about the 389-users mailing list