[389-users] Error debianizing the 389-ds-base-1.2.1 package

Rich Megginson rmeggins at redhat.com
Sat Jun 6 16:03:21 UTC 2009


Morenisco wrote:
> Hi,
>
> I tried to debianize the 389-ds-base-1.2.1 package in a clean 
> directory and sources, and I got an error.
>
> The basic steps that I performed were the following:
>
> 1) 389-ds-base-1.2.1 package - Initial debianization:
>
> root at dirserv1:~/project-389/389-ds-base-1.2.1# dh_make -e 
> morenisco at noc-root.net -c gpl -f ../389-ds-base-1.2.1.tar.gz
>
> Type of package: single binary, multiple binary, library, kernel 
> module or cdbs?
> [s/m/l/k/b] s
>
> Maintainer name : root
> Email-Address   : morenisco at noc-root.net
> Date            : Thu, 04 Jun 2009 22:56:55 +0000
> Package Name    : 389-ds-base
> Version         : 1.2.1
> License         : gpl
I don't know if Debian differentiates between GPL flavors, but the 
389-ds-base license is GPLv2 + exception for plug-ins.
> Using dpatch    : no
> Type of Package : Single
> Hit <enter> to confirm:
> Done. Please edit the files in the debian/ subdirectory now. 389-ds-base
> uses a configure script, so you probably don't have to edit the 
> Makefiles.
>
> 2) I modified the control file as follows:
>
> Source: 389-ds-base
> Section: admin
> Priority: extra
> Maintainer: Morenisco <morenisco at noc-root.net>
> Build-Depends: debhelper (>= 7), autotools-dev
> Standards-Version: 3.7.3
> Homepage: http://directory.fedoraproject.org
You probably want to change this to port389.org
>
> Package: 389-ds-base
> Architecture: any
> Depends: libsvrcore0, libsvrcore-dev, libmozldap-0d, libmozldap-dev, 
> libmozilla-ldap-perl, libdb4.6-dev, libicu-dev, libsnmp-dev, 
> libkrb5-dev, libpam-dev, libnet-ldap-perl, libperl-dev
I don't think it depends on libnet-ldap-perl, only on 
libmozilla-ldap-perl.  DS base also depends on cyrus-sasl-devel - not 
sure what Debian package that is (libsasl2-dev?).  And I don't see 
libnspr-dev or libnss-dev among the dependencies - perhaps they get 
pulled in by the svrcore or mozilla dependencies.
> Description: The enterprise-class Open Source LDAP server for Linux.
>             It is hardened by real-world use, is full-featured, supports
>             multi-master replication, and already handles many of the 
> largest
>             LDAP deployments in the world.
>
>
> 3) I tried to build the package with the following command:
>
> root at dirserv1:~/project-389/389-ds-base-1.2.1# dpkg-buildpackage 
> -rfakeroot
>
> The generated output is too long, and the latest part is the following:
>
> ldap/servers/slapd/.libs/libslapd_la-snmp_collator.o: In function 
> `snmp_collator_create_semaphore':
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:532: 
> undefined reference to `sem_open'
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:536: 
> undefined reference to `sem_unlink'
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:542: 
> undefined reference to `sem_open'
> ldap/servers/slapd/.libs/libslapd_la-snmp_collator.o: In function 
> `snmp_collator_sem_wait':
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:574: 
> undefined reference to `sem_trywait'
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:586: 
> undefined reference to `sem_close'
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:587: 
> undefined reference to `sem_unlink'
> ldap/servers/slapd/.libs/libslapd_la-snmp_collator.o: In function 
> `snmp_collator_update':
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:629: 
> undefined reference to `sem_post'
> ldap/servers/slapd/.libs/libslapd_la-snmp_collator.o: In function 
> `snmp_collator_stop':
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:505: 
> undefined reference to `sem_close'
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:506: 
> undefined reference to `sem_unlink'
> ldap/servers/slapd/.libs/libslapd_la-snmp_collator.o: In function 
> `snmp_collator_init':
> /root/project-389/389-ds-base-1.2.1/ldap/servers/slapd/snmp_collator.c:205: 
> undefined reference to `sem_post'
> collect2: ld returned 1 exit status
> make[2]: *** [libslapd.la] Error 1
> make[2]: Leaving directory `/root/project-389/389-ds-base-1.2.1'
> make[1]: *** [all] Error 2
> make[1]: Leaving directory `/root/project-389/389-ds-base-1.2.1'
> make: *** [build-stamp] Error 2
> dpkg-buildpackage: failure: debian/rules build gave error exit status 2
> root at dirserv1:~/project-389/389-ds-base-1.2.1#
>
> The complete output is in the following URL:
>
> http://morenisco.noc-root.net/debian/files/Error_Debianizing_389-ds-base-1.2.1 
>
>
> Some idea about why this can be failing please?
The problem is that libslapd is not linked with -lrt, which provides the 
semaphore functions.  This is usually fine, since ns-slapd (the 
executable) is linked with -lrt, so that at runtime all of these 
references are resolved,  But Debian uses -Wl,-z,defs which forces all 
references to be looked up at link time.  We should fix this in 389 - 
please file a bug against 389.  In the meantime, you could either turn 
off -z,defs, or figure out how to link libslapd with -lrt
>
> Thanks a lot.
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3258 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/fedora-directory-users/attachments/20090606/00ea53b0/attachment.bin>


More information about the Fedora-directory-users mailing list