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

Ryan Braun Ryan.Braun at ec.gc.ca
Mon Feb 25 15:08:50 UTC 2008


On Friday 22 February 2008 8:52 pm, Rich Megginson wrote:
> >>> The java components will be more tricky.
> >>>
> >>> For ldapjdk, it would be nice to be able to build from source in
> >>> dsbuild, but the jar file is cross platform and stable.
> >>>
> >>> JSS is different because it has some JNI code and should be compiled.
> >>> There are binaries available from ftp.mozilla.org but I don't know how
> >>> well they will work.
> >>>
> >>> None of the other java components listed at
> >>> http://directory.fedoraproject.org/wiki/Source and
> >>> http://directory.fedoraproject.org/wiki/BuildingConsole have been
> >>> rolled
> >>> into dsbuild.
> >>
> >> Ok java components we'll come back to later,  I'm having trouble
> >> building mod_nss now.
> >>
> >> infinity:/usr/src/dsbuild/meta/ds# make BUILD_DS_ADMIN=1
> >> ADMINUTIL_SOURCE=1 MOD_NSS_SOURCE=1 ADMINSERVER_SOURCE=1
> >> SVRCORE_SOURCE=1 MOZLDAP_SOURCE=1 PERLDAP_SOURCE=1
> >
> > Add APXS=/usr/bin/apxs2 HTTPD=/usr/sbin/apache2
> >
> > Make sure you have the apache2-mpm-worker and apache2-threaded-dev
> > packages installed.
>
> One more thing - after you finish building, you'll have to comment out
> the following line in your $PREFIX/etc/dirsrv/admin-serv/httpd.conf:
> LoadModule log_config_module ......
>
> Then you should be able to run $PREFIX/sbin/setup-ds-admin.pl.  I was,
> and both directory server and admin server are running.


Ok,  adding 

APXS=/usr/bin/apxs2
HTTPD=/usr/sbin/apache2

to both dsbuild/ds/mod_nss/Makefile and dsbuild/adminserver/Makefile worked 
great.  The dsbuild process finishes and appears to have compiled everything.

A couple little bugs creeped up during the build.  I think it was during the 
make install of ldapserver.  One of the binaries (the first one I guess) was 
copied to /opt/dirsrv/bin (the bin being a file not a directory) so 
the /opt/dirsrv/bin directory isn't getting created.  Quick fix was just 
renaming /opt/dirsrv/bin to /opt/dirsrv/bin.something and rerunning make.  
Executing /opt/dirsrv/bin.something looks like the binary might be 
ldappasswd?

Second,  there seems to be a missing library.

Starting admin server . . .
output: ERROR: ld.so: object '/opt/dirsrv/lib/libssl3.so' from LD_PRELOAD 
cannot be preloaded: ignored.
output: apache2: Syntax error on line 123 
of /opt/dirsrv/etc/dirsrv/admin-serv/httpd.conf: module log_config_module is 
built-in and can't be loaded
Could not start the admin server.  Error: 256
Failed to create and configure the admin server
Exiting . . .

I assumed the libssl3.so was supposed to be provided by building nss from 
source.  So I just symlinked the system's libssl3.so provided by libnss3-0d 
back to /opt/dirsrv/lib/.  Admin server seemed to startup fine after that 
(and fixing the debian httpd module issue).

So after all that I have a running slapd now,  and the admin server is 
started.  I can connect and bind as Directory Manager and browse the tree 
using any old ldap client. browsing to localhost:ADMINSRV_PORT works and 
brings up the web stuff.  But when I try to connect to the adminserver using 
the console from the 1.0.4 directory server install,  it will connect but not 
show any servers in the default view.  Not sure if that is a 1.0.4 vs. 1.1.0 
version problem,  or a build issue with lacking java components.  

Which leads me to my next question.  The java components,  are they only 
required for running the console on your client machines?  So building with 
NOJAVA=1 will provide a fully working adminserver and ldapserver,  just no 
console binaries?

To be honest,  I haven't really looked into the different post install 
process' with 1.1.0 since 1.0.4 so the reason I could have missing entries in 
the console could very well be my own fault :)

Also,  if I want to fine tune the location of some of directories during 
build.  is it safe to modify the CONFIGURE_ARGS variable in the adminserver 
and ldapserver's Makefile?  I want to put /opt/dirsrv/etc/dirsrv 
into /etc/dirsrv aswell as /opt/dirsrv/var into /var?

Ryan




More information about the 389-users mailing list