!!! existing preserved libs: >>> package: app-text/hunspell-1.3.2-r1 * - /usr/lib64/libhunspell-1.2.so * - /usr/lib64/libhunspell-1.2.so.0 * - /usr/lib64/libhunspell-1.2.so.0.0.0 * used by /usr/bin/lokalize (kde-base/lokalize-4.6.4) This does not go away by running emerge @preserved-rebuild. Configuration phase of lokalize says: -- Found HUNSPELL: /usr/lib64/libhunspell-1.2.so Reproducible: Always Portage 2.2.0_alpha41 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.2, glibc-2.13-r2, 2.6.39-gentoo-r1 x86_64) ================================================================= System uname: Linux-2.6.39-gentoo-r1-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5000+-with-gentoo-2.0.3 Timestamp of tree: Mon, 27 Jun 2011 07:15:01 +0000 distcc 3.1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.2_p10 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.1-r1, 3.1.3-r1, 3.2 dev-util/cmake: 2.8.4-r1 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.8.3 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.9.6-r3, 1.10.3, 1.11.1-r1 sys-devel/binutils: 2.21 sys-devel/gcc: 4.5.2 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82-r1 sys-kernel/linux-headers: 2.6.38 (virtual/os-headers) sys-libs/glibc: 2.13-r2 Repositories: gentoo kde pcsx2 oss-overlay sunrise qt-symbian-overlay gamerlay-stable local Installed sets: @kdebase ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=athlon64-sse3 -ftree-vectorize" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/lib/neatx/home" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-pipe -O2 -march=athlon64-sse3 -ftree-vectorize" DISTDIR="/var/cache/portage/distfiles" EMERGE_DEFAULT_OPTS="--depclean-lib-check n --with-bdeps y --keep-going" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="" GENTOO_MIRRORS="ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ http://distfiles.gentoo.org" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--hash-style=gnu" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/var/cache/portage/packages" PORTAGE_COMPRESS="xz" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/cache/portage/gentoo" PORTDIR_OVERLAY="/var/cache/portage/layman/kde /var/cache/portage/layman/pcsx2 /var/cache/portage/layman/oss-overlay /var/cache/portage/layman/sunrise /var/cache/portage/layman/qt-symbian-overlay /var/cache/portage/layman/gamerlay /var/cache/portage/local" [...] Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
We're stupid, so please explain a bit more what the problem is! :)
(In reply to comment #1) > We're stupid, so please explain a bit more what the problem is! :) Sorry, now I understand... have to check but it looks like for some reason it's not finding hunspell-1.3. Anyway not a stable blocker since hunspell-1.3 is ~arch.
the problem is in preserved-rebuild i think, Zac please verify
(In reply to comment #3) > the problem is in preserved-rebuild i think, Zac please verify Yes, I've created bug 373873 to track issues like this. The exact reasons for this type of behavior can probably vary a lot. For example, bug 230257, comment #54 describes an interesting case in which this kind of behavior is triggered by an la file belonging to a package that is not part of the @preserved-rebuild set.
(In reply to comment #3) > the problem is in preserved-rebuild i think, Zac please verify How do you explain this message during the cmake (configuration) phase? -- Found HUNSPELL: /usr/lib64/libhunspell-1.2.so To me, cmake clearly finds/selects the wrong version of hunspell and then actually links against it: $ scanelf -n /usr/bin/lokalize TYPE NEEDED FILE ET_EXEC libkparts.so.4,libkrosscore.so.4,libkrossui.so.4,libkio.so.5,libkfile.so.4,libkdeui.so.5,libthreadweaver.so.4,libQtSql.so.4,libhunspell-1.2.so.0,libQtXml.so.4,libkdecore.so.5,libQtDBus.so.4,libQtGui.so.4,libQtCore.so.4,libstdc++.so.6,libm.so.6,libc.so.6 /usr/bin/lokalize So I would search the problem in the hunspell cmake module instead. Quick investigations show: kdesdk-4.6.4/cmake/modules/FindHUNSPELL.cmake contains this line: FIND_LIBRARY(HUNSPELL_LIBRARIES NAMES hunspell-1.2 hunspell-1.3) A rough guess: Could it be that the order matters?
Created attachment 280437 [details, diff] Patch to make FindHUNSPELL prefer 1.3 over 1.2 (In reply to comment #5) > kdesdk-4.6.4/cmake/modules/FindHUNSPELL.cmake contains this line: > FIND_LIBRARY(HUNSPELL_LIBRARIES NAMES hunspell-1.2 hunspell-1.3) > > Could it be that the order matters? The order matters. Attached patch to kde-base/kdelibs-4.6.5 makes cmake prefer app-text/hunspell-1.3 instead of 1.2 and hence allows to build kde-base/lokalize-4.6.5 against the former. This is commit 2eaa5af4822852124934f3d70de50a04d77184c5 from KDE Git, author is Tomáš Chvátal.
CCing Tomáš, as he is the author of the patch.
It is really bug in the finder, just apply the patch :)
Fxed, thanks.
Reversing the search order works for upgrades, but it's worth noting that it won't work for downgrades of hunspell with preserve-libs enabled. For downgrades to work, the build system could follow the soname symlink to determine the correct library, as discussed in bug 373341.