Summary: | kde-base/kmail-4.6.0-r1 fails building against net-nds/openldap-2.4.25, libldap.so: undefined reference to `gcry_control' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Trevor Bowen <m27315> |
Component: | [OLD] KDE | Assignee: | Gentoo LDAP project <ldap-bugs> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | 2008.0 | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
kmail-4.6.0-r1 build.log
emerge --info results openldap-2.4.25 (unstable, ~amd64) build log |
Description
Trevor Bowen
2011-06-24 02:57:28 UTC
Created attachment 277965 [details]
emerge --info results
The error occurs during lining: /usr/lib64/libldap-2.4.so.2: undefined reference to `gcry_control' Does revdep-rebuild fix the problem? I have resynced, updated (-uDN), dep-cleaned, revdep-rebuilt, and python-updated more times than I can remember. However, this is the third or fourth ldap-related problem that I am having on my system. I reported one other here, bug 372753. I also had trouble compiling libreoffice. I worked around libreoffice 3.3.3 by using libreoffice-bin instead. And, I disabled the ldap USE flag on php to emerge it. I am using the following version of ldap: $ emerge -pvt openldap These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R ] net-nds/openldap-2.4.24 USE="berkdb crypt gnutls ipv6 kerberos odbc perl samba sasl slp ssl tcpd -cxx -debug -experimental -icu -iodbc -minimal -overlays (-selinux) -smbkrb5passwd -syslog" 0 kB I have tried upgrading to the unstable version of openldap (2.4.25), but it fails to build. Basically, everything related to ldap on my box is failing to build, including newer versions of ldap, and I don't know why. (I'm attaching the build log for the failed build of openldap-2.4.25 for reference.) Any suggestions? Thanks! ... Trevor Created attachment 278113 [details]
openldap-2.4.25 (unstable, ~amd64) build log
Also fails on undefined references to 'gcry_control' ... hmmm ...
...
(cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la)
/bin/sh ../../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o apitest apitest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgnutls -lcrypt -lresolv
/bin/sh ../../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o dntest dntest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgnutls -lcrypt -lresolv
/bin/sh ../../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o ftest ftest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgnutls -lcrypt -lresolv
/bin/sh ../../libtool --mode=link x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o ltest test.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgnutls -lcrypt -lresolv
x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o .libs/dntest dntest.o ./.libs/libldap.so /var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries/liblber/.libs/liblber.so -L/usr/lib64 ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a /usr/lib64/libsasl2.so /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so -lnettle /usr/lib64/libgmp.so -lhogweed -lz -ldl -lpthread -lcrypt -lresolv
x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o .libs/apitest apitest.o ./.libs/libldap.so /var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries/liblber/.libs/liblber.so -L/usr/lib64 ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a /usr/lib64/libsasl2.so /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so -lnettle /usr/lib64/libgmp.so -lhogweed -lz -ldl -lpthread -lcrypt -lresolv
x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o .libs/ftest ftest.o ./.libs/libldap.so /var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries/liblber/.libs/liblber.so -L/usr/lib64 ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a /usr/lib64/libsasl2.so /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so -lnettle /usr/lib64/libgmp.so -lhogweed -lz -ldl -lpthread -lcrypt -lresolv
x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o .libs/ltest test.o ./.libs/libldap.so /var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries/liblber/.libs/liblber.so -L/usr/lib64 ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a /usr/lib64/libsasl2.so /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so -lnettle /usr/lib64/libgmp.so -lhogweed -lz -ldl -lpthread -lcrypt -lresolv
./.libs/libldap.so: undefined reference to `gcry_control'
collect2: ld returned 1 exit status
make[2]: *** [dntest] Error 1
make[2]: *** Waiting for unfinished jobs....
./.libs/libldap.so: undefined reference to `gcry_control'
collect2: ld returned 1 exit status
make[2]: *** [apitest] Error 1
./.libs/libldap.so: undefined reference to `gcry_control'
collect2: ld returned 1 exit status
make[2]: *** [ltest] Error 1
./.libs/libldap.so: undefined reference to `gcry_control'
collect2: ld returned 1 exit status
make[2]: *** [ftest] Error 1
make[2]: Leaving directory `/var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries/libldap'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries'
make: *** [all-common] Error 1
emake failed
* ERROR: net-nds/openldap-2.4.25 failed (compile phase):
Could you try reinstalling libgcrypt, gnutls and openldap? I did, but that did not help. FWIW, stable openldap's gnutls USE flag required that I use the unstable version of gnutls. If I should be doing something else, please let me know: $ emerge -pvt libgcrypt gnutls openldap These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R ] net-nds/openldap-2.4.24 USE="berkdb crypt gnutls ipv6 kerberos odbc perl samba sasl slp ssl tcpd -cxx -debug -experimental -icu -iodbc -minimal -overlays (-selinux) -smbkrb5passwd -syslog" 0 kB [ebuild R ] dev-libs/libgcrypt-1.4.6 USE="static-libs" 0 kB [ebuild R #] net-libs/gnutls-2.12.5 USE="cxx lzo nettle nls zlib -bindist -doc -examples -guile -test" 0 kB Thanks! I re-installed the stable version of openldap, and it completed. Afterward, kmail emerged successfully. I guess I got so preoccupied with trying to make the new version of openldap work, that I forgot to try re-emerging the old one, which fixed the problem for now. I wonder why revdep-rebuild did not catch the problem? I'd file a bug, but I don't know how to reproduce it. Probably it's because of the static-libs, you enabled for libgcrypt. Did you emerge the packages in the postet order? If not, could you just try to emerge openldap-2.4.25, again, and then kmail? Oh, I'm sure you're right. I emerged using the statement above (without -pvt). Maybe I should have emerged them individually to ensure the proper order? I backed off of some USE flags, and I finally got this combination to work: $ emerge -pvt libgcrypt gnutls openldap These are the packages that would be merged, in reverse order: Calculating dependencies... done! [ebuild R ~] net-nds/openldap-2.4.25 USE="berkdb crypt ipv6 kerberos odbc perl samba sasl slp ssl tcpd -cxx -debug -experimental -gnutls -icu -iodbc -minimal -overlays (-selinux) -smbkrb5passwd -syslog" 0 kB [ebuild R #] net-libs/gnutls-2.12.5 USE="cxx lzo nettle nls zlib -bindist -doc -examples -guile -test" 0 kB [ebuild R ] dev-libs/libgcrypt-1.4.6 USE="static-libs" 0 kB kmail compiled fine and php compiled fine, which resolves bug 372753 also. However, if I re-enable USE=gnutls on openldap, then openldap breaks, even if I re-emerge gnutls first, with the same error: ... x86_64-pc-linux-gnu-gcc -march=native -O2 -pipe -D_GNU_SOURCE -Wl,-O1 -Wl,--as-needed -o .libs/ftest ftest.o ./.libs/libldap.so /var/tmp/portage/net-nds/openldap-2.4.25/work/openldap-2.4.25/libraries/liblber/.libs/liblber.so -L/usr/lib64 ../../libraries/liblber/.libs/liblber.so ../../libraries/liblutil/liblutil.a /usr/lib64/libsasl2.so /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so -lnettle /usr/lib64/libgmp.so -lhogweed -lz -ldl -lpthread -lcrypt -lresolv ./.libs/libldap.so: undefined reference to `gcry_control' collect2: ld returned 1 exit status ... However, disabling USE=gnutls on openldap permits openldap to emerge - either version, stable or unstable - and, then I can proceed with kmail and php. OK, seems like the problem is identified. Could you please test kmail-4.7.0 ?! I have it installed using the procedure identified in the previous comments. ... thx! Would you like me to test a particular combination of USE flags? (In reply to comment #11) > I have it installed using the procedure identified in the previous comments. > ... thx! Would you like me to test a particular combination of USE flags? Sorry about not replying for such a long time. Forget my last comment, this is not a kmail problem but really one in openldap. Reassigning... (In reply to comment #12) > (In reply to comment #11) > > I have it installed using the procedure identified in the previous comments. > > ... thx! Would you like me to test a particular combination of USE flags? > > Sorry about not replying for such a long time. Forget my last comment, this is > not a kmail problem but really one in openldap. Reassigning... To be more precise... the original problem was that kmail failed to link to openldap, but then later on we found out that openldap does itself not build with gnutls. I guess kmail is not even involved directly. *** This bug has been marked as a duplicate of bug 337504 *** |