ports/147456: openldap24-client build failure on 6.4 AMD64

Renato Botelho garga at freebsd.org
Fri Jun 4 18:19:55 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Fri, Jun 04, 2010 at 10:40:21AM -0700, Xin LI wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
> 
> On 2010/06/04 03:31, Matthias Andree wrote:
> > Am 04.06.2010 02:22, schrieb Xin LI:
> >> Hi,
> >>
> >> I fail to see problem on ports build cluster:
> >>
> >> 	http://portsmon.freebsd.org/portoverview.py?category=net&portname=openldap24-client
> >>
> >> Is there any special flags at your side?
> > 
> > I checked, none.
> > 
> > However I am using Tinderbox on amd64/8.1-PRERELEASE, with a 6.4-FreeBSD
> > jail - I'm not sure if that is safe WRT threads.
> > 
> > Please consider the attached log file, which documents that most of the
> > -lpthread stuff is failing with this:
> > 
> >> configure:20678: checking for pthread link with -pthread
> >> configure:20877: cc -o conftest -O2 -fno-strict-aliasing -pipe   -I/usr/local/include  -rpath=/usr/lib:/usr/local/lib -L/usr/local/lib conftest.c -pthread  >&5
> >> conftest.c: In function `task':
> >> conftest.c:108: warning: cast to pointer from integer of different size
> >> configure:20880: $? = 0
> >> configure:20886: ./conftest
> >> Fatal error 'kse_create() failed
> >> ' at line 469 in file /usr/src/lib/libpthread/thread/thr_kern.c (errno = 0)
> >> configure:20889: $? = 1
> >> configure: program exited with status 1
> > 
> > And finally, from the former log, in libraries/ldap_r, we see that
> > libtool strips -lc_r from the command line:
> > 
> >> /bin/sh /usr/local/bin/libtool --mode=link  cc  -O2 -fno-strict-aliasing -pipe  -rpath=/usr/lib:/usr/local/lib -L/usr/local/lib   -o ltest test.o libldap_r.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a   -lssl -lcrypto  -lfetch -lcom_err  -lc_r
> > 
> > Still there
> > 
> >> libtool: link: cc -O2 -fno-strict-aliasing -pipe -rpath=/usr/lib:/usr/local/lib -o .libs/ltest test.o  -L/usr/local/lib ./.libs/libldap_r.so /work/a/ports/net/openldap24-client/work/openldap-2.4.22/libraries/liblber/.libs/liblber.so ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a -lssl -lcrypto -lfetch -lcom_err -Wl,-rpath -Wl,/usr/local/lib
> >> libtool: link: cc -O2 -fno-strict-aliasing -pipe -rpath=/usr/lib:/usr/local/lib -o .libs/apitest apitest.o  -L/usr/local/lib ./.libs/libldap_r.so /work/a/ports/net/openldap24-client/work/openldap-2.4.22/libraries/liblber/.libs/liblber.so ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a -lssl -lcrypto -lfetch -lcom_err -Wl,-rpath -Wl,/usr/local/lib
> > 
> > Gone, leading to linker failures:
> > 
> >> ./.libs/libldap_r.so: undefined reference to `pthread_attr_destroy'
> >> ./.libs/libldap_r.so: undefined reference to `pthread_attr_destroy'
> >> ./.libs/libldap_r.so: undefined reference to `pthread_create'
> > 
> > Manually linking in this directory with -lc_r lets the link proceed, but
> > I'm not sure if the resulting executable would work.  I assume it would.
> > 
> > So might this be an inherited libtool bug?  Or is this an issue of
> > running 6.4 userspace (in the jail) with 8.0 kernel? How do I work
> > around that?
> 
> I think that's because kse_* system calls are removed on 8.x (i.e. a
> libmap has to be set to map lib{pthread,kse}.so.2 to libthr.so.2).

Yes, that's the reason, take a look at

http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/portstools/tinderbox/contrib/hooks/kse-fix/README.txt?annotate=1.1.2.1

- -- 
Renato Botelho <garga @ FreeBSD.org>
               <garga @ freebsdbrasil.com.br>
GnuPG Key: http://www.FreeBSD.org/~garga/pubkey.asc

Please remain calm, it's no use both of
us being hysterical at the same time.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.14 (FreeBSD)

iEYEARECAAYFAkwJPJgACgkQ6CRbiSJE7am3ZACghedy0MVsqzEobjU5Mmk/Y+lU
eaEAniTFGmY8FDQm3vI8ENYAmEeiyj7F
=ZV4U
-----END PGP SIGNATURE-----



More information about the freebsd-ports-bugs mailing list