Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 373189 - kde-base/lokalize-4.6.4 links against app-text/hunspell-1.2 instead of current
Summary: kde-base/lokalize-4.6.4 links against app-text/hunspell-1.2 instead of current
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 373873
  Show dependency tree
 
Reported: 2011-06-27 08:50 UTC by Dennis Schridde
Modified: 2011-08-08 01:08 UTC (History)
1 user (show)

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


Attachments
Patch to make FindHUNSPELL prefer 1.3 over 1.2 (find-hunspell-1.3.patch,476 bytes, patch)
2011-07-20 09:52 UTC, Dennis Schridde
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Schridde 2011-06-27 08:50:07 UTC
!!! 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
Comment 1 Andreas K. Hüttel archtester gentoo-dev 2011-07-02 18:51:48 UTC
We're stupid, so please explain a bit more what the problem is! :)
Comment 2 Andreas K. Hüttel archtester gentoo-dev 2011-07-02 19:04:46 UTC
(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.
Comment 3 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2011-07-03 02:17:50 UTC
the problem is in preserved-rebuild i think, Zac please verify
Comment 4 Zac Medico gentoo-dev 2011-07-03 06:58:19 UTC
(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.
Comment 5 Dennis Schridde 2011-07-03 13:40:53 UTC
(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?
Comment 6 Dennis Schridde 2011-07-20 09:52:06 UTC
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.
Comment 7 Dennis Schridde 2011-07-20 09:53:12 UTC
CCing Tomáš, as he is the author of the patch.
Comment 8 Tomáš Chvátal (RETIRED) gentoo-dev 2011-07-20 11:00:42 UTC
It is really bug in the finder, just apply the patch :)
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2011-08-07 18:55:37 UTC
Fxed, thanks.
Comment 10 Zac Medico gentoo-dev 2011-08-08 01:08:48 UTC
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.