Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 372755 - kde-base/kmail-4.6.0-r1 fails building against net-nds/openldap-2.4.25, libldap.so: undefined reference to `gcry_control'
Summary: kde-base/kmail-4.6.0-r1 fails building against net-nds/openldap-2.4.25, libld...
Status: RESOLVED DUPLICATE of bug 337504
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo LDAP project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-24 02:57 UTC by Trevor Bowen
Modified: 2011-11-23 17:14 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
kmail-4.6.0-r1 build.log (build.log,79.90 KB, text/plain)
2011-06-24 02:57 UTC, Trevor Bowen
Details
emerge --info results (emerge_info.txt,5.68 KB, text/plain)
2011-06-24 02:57 UTC, Trevor Bowen
Details
openldap-2.4.25 (unstable, ~amd64) build log (build.log,99.86 KB, text/plain)
2011-06-25 19:36 UTC, Trevor Bowen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Trevor Bowen 2011-06-24 02:57:28 UTC
Created attachment 277963 [details]
kmail-4.6.0-r1 build.log

A recent upgrade of KDE's kmail-4.6.0-r1 crashes during ebuild:

$  emerge -uDNpvt kmail

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U ~] kde-base/kmail-4.6.0-r1 [4.6.0] USE="handbook kontact (-aqua) -debug (-kdeenablefinal) -test" 0 kB

$ emerge kmail

Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) kde-base/kmail-4.6.0-r1
 * kdepim-4.6.0.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                                                                                                                                             [ ok ]
 * Package:    kde-base/kmail-4.6.0-r1
 * Repository: gentoo
 * Maintainer: kde@gentoo.org
 * USE:        amd64 elibc_glibc handbook kernel_linux kontact multilib userland_GNU
 * FEATURES:   preserve-libs sandbox
>>> Unpacking source...
 * Unpacking parts of kdepim-4.6.0.tar.bz2 to /var/tmp/portage/kde-base/kmail-4.6.0-r1/work ...
tar extract command failed at least partially - continuing anyway                                                                                                                                                                                                                                                   [ ok ]
>>> Source unpacked in /var/tmp/portage/kde-base/kmail-4.6.0-r1/work
>>> Preparing source in /var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0 ...
 * Injecting library dependencies from 'kdepim-common-libs' ...                                                                                                                                                                                                                                                     [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0 ...
>>> Working in BUILD_DIR: "/var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0_build"
cmake --no-warn-unused-cli -C /var/tmp/portage/kde-base/kmail-4.6.0-r1/temp/gentoo_common_config.cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDE4_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DCMAKE_BUILD_TYPE=Gentoo -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/kde-base/kmail-4.6.0-r1/temp/gentoo_rules.cmake  /var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0
Not searching for unused variables given on the command line.
loading initial cache file /var/tmp/portage/kde-base/kmail-4.6.0-r1/temp/gentoo_common_config.cmake
...
[ 45%] Building CXX object messageviewer/CMakeFiles/messageviewer.dir/globalsettings_base.o
In file included from /usr/include/boost-1_42/boost/function/detail/prologue.hpp:17,
                 from /usr/include/boost-1_42/boost/function.hpp:24,
                 from /var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0/messageviewer/mailwebview.h:35,
                 from /var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0/messageviewer/viewer_p.cpp:124:
/usr/include/boost-1_42/boost/function/function_base.hpp: In static member function 'static void boost::detail::function::functor_manager_common<Functor>::manage_small(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >]':
/usr/include/boost-1_42/boost/function/function_base.hpp:360:   instantiated from 'static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::true_) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >]'
/usr/include/boost-1_42/boost/function/function_base.hpp:406:   instantiated from 'static void boost::detail::function::functor_manager<Functor>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_obj_tag) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >]'
/usr/include/boost-1_42/boost/function/function_base.hpp:434:   instantiated from 'static void boost::detail::function::functor_manager<Functor>::manage(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >]'
/usr/include/boost-1_42/boost/function/function_template.hpp:913:   instantiated from 'void boost::function0<R>::assign_to(Functor) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >, R = QString]'
/usr/include/boost-1_42/boost/function/function_template.hpp:722:   instantiated from 'boost::function0<R>::function0(Functor, typename boost::enable_if_c<boost::type_traits::ice_not::value, int>::type) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >, R = QString]'
/usr/include/boost-1_42/boost/function/function_template.hpp:1064:   instantiated from 'boost::function<R()>::function(Functor, typename boost::enable_if_c<boost::type_traits::ice_not::value, int>::type) [with Functor = boost::_bi::bind_t<QString, boost::_mfi::cmf0<QString, MessageViewer::ViewerPrivate>, boost::_bi::list1<boost::_bi::value<MessageViewer::ViewerPrivate*> > >, R = QString]'
/var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0/messageviewer/viewer_p.cpp:2164:   instantiated from here
/usr/include/boost-1_42/boost/function/function_base.hpp:321: warning: dereferencing type-punned pointer will break strict-aliasing rules
/usr/include/boost-1_42/boost/function/function_base.hpp:325: warning: dereferencing type-punned pointer will break strict-aliasing rules
[ 47%] Building CXX object messagelist/CMakeFiles/messagelist.dir/utils/optionseteditor.o
[ 47%] Building CXX object messagelist/CMakeFiles/messagelist.dir/utils/themecombobox.o
[ 47%] Building CXX object messagelist/CMakeFiles/messagelist.dir/utils/themeconfigbutton.o
[ 47%] Building CXX object messagelist/CMakeFiles/messagelist.dir/utils/themeeditor.o
[ 47%] Building CXX object messagelist/CMakeFiles/messagelist.dir/pane.o
[ 47%] [ 47%] Building CXX object messagelist/CMakeFiles/messagelist.dir/storagemodel.o
Building CXX object messagelist/CMakeFiles/messagelist.dir/widget.o
Linking CXX shared library ../lib/libmessageviewer.so
[ 48%] Building CXX object messagelist/CMakeFiles/messagelist.dir/messagetag.o
[ 48%] Building CXX object messagelist/CMakeFiles/messagelist.dir/core/settings.o
[ 48%] Built target messageviewer
/usr/include/KDE/../kdebug.h: In member function 'virtual bool MessageList::StorageModel::isOutBoundFolder(const Akonadi::Collection&) const':
/usr/include/KDE/../kdebug.h:260: warning: array subscript is above array bounds
Linking CXX shared library ../lib/libmessagelist.so
[ 48%] Built target messagelist
make: *** [all] Error 2
 * ERROR: kde-base/kmail-4.6.0-r1 failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of 'emerge --info =kde-base/kmail-4.6.0-r1',
 * the complete build log and the output of 'emerge -pqv =kde-base/kmail-4.6.0-r1'.
 * The complete build log is located at '/var/tmp/portage/kde-base/kmail-4.6.0-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/kde-base/kmail-4.6.0-r1/temp/environment'.
 * S: '/var/tmp/portage/kde-base/kmail-4.6.0-r1/work/kmail-4.6.0'

>>> Failed to emerge kde-base/kmail-4.6.0-r1, Log file:

I have not found a workaround.

Any suggestions?

Thanks!
Comment 1 Trevor Bowen 2011-06-24 02:57:49 UTC
Created attachment 277965 [details]
emerge --info results
Comment 2 Franz Trischberger 2011-06-25 09:15:27 UTC
The error occurs during lining:

/usr/lib64/libldap-2.4.so.2: undefined reference to `gcry_control'

Does revdep-rebuild fix the problem?
Comment 3 Trevor Bowen 2011-06-25 19:34:21 UTC
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
Comment 4 Trevor Bowen 2011-06-25 19:36:22 UTC
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):
Comment 5 Franz Trischberger 2011-06-25 19:55:16 UTC
Could you try reinstalling libgcrypt, gnutls and openldap?
Comment 6 Trevor Bowen 2011-06-26 00:28:41 UTC
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!
Comment 7 Trevor Bowen 2011-06-27 04:50:54 UTC
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.
Comment 8 Franz Trischberger 2011-06-27 06:26:21 UTC
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?
Comment 9 Trevor Bowen 2011-06-27 13:57:05 UTC
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.
Comment 10 Andreas K. Hüttel archtester gentoo-dev 2011-08-07 16:25:36 UTC
OK, seems like the problem is identified. Could you please test kmail-4.7.0 ?!
Comment 11 Trevor Bowen 2011-08-08 12:55:13 UTC
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?
Comment 12 Andreas K. Hüttel archtester gentoo-dev 2011-09-22 20:42:45 UTC
(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...
Comment 13 Andreas K. Hüttel archtester gentoo-dev 2011-10-25 19:55:02 UTC
(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.
Comment 14 Andreas K. Hüttel archtester gentoo-dev 2011-11-23 17:14:15 UTC

*** This bug has been marked as a duplicate of bug 337504 ***