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!
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 ***