Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 519190 - dev-qt/qtwebkit:5 tries to link to link against system leveldb
Summary: dev-qt/qtwebkit:5 tries to link to link against system leveldb
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
Depends on:
Blocks: qt5-porting qt-5.4.2-stable
  Show dependency tree
Reported: 2014-08-06 10:47 UTC by Uwe L. Korn
Modified: 2016-02-08 01:24 UTC (History)
5 users (show)

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

Compressed tail of build.log (build.log.xz,10.20 KB, application/x-xz)
2014-08-06 10:49 UTC, Uwe L. Korn

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe L. Korn 2014-08-06 10:47:01 UTC
qtwebkit ships with its own (possibly with custom modifications) but due to several   -L/usr/lib64 in the linker line, the system one is preferred over the bundled on linking.

Reproducible: Always
Comment 1 Uwe L. Korn 2014-08-06 10:47:55 UTC
Installed leveldb version was 1.9.0-r5
Comment 2 Uwe L. Korn 2014-08-06 10:49:42 UTC
Created attachment 382372 [details]
Compressed tail of build.log

Usersupplied build.log
Comment 3 Davide Pesavento gentoo-dev 2014-08-19 23:36:03 UTC
And what's wrong about using the system copy? Is this just a case of automagic dep?
Comment 4 Uwe L. Korn 2014-08-20 08:21:35 UTC
Looks like the systemcopy is missing a some functions which the bundled one has. Probably the bundled is newer than the system copy or has a custom patch.
Comment 5 Losier Blackheath 2014-12-17 04:02:56 UTC
It seems Qt just prefer system leveldb to bundled one:
Comment 6 Lori 2015-02-25 11:14:37 UTC
This is still an issue with dev-qt/qtwebkit-5.4.1 from Portage.
Comment 7 Michael Palimaka (kensington) gentoo-dev 2015-03-14 18:22:40 UTC
As per comment #5, I've pushed a commit to the overlay for review to ensure that the system copy is used.
Comment 8 jospezial 2015-04-30 11:47:03 UTC
make[2]: Entering directory '/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source'
rm -f
x86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--no-undefined -Wl,--no-undefined -fdebug-types-section -fuse-ld=gold -shared -Wl,-Bsymbolic-functions -Wl,-soname, -o   -lQt5Gui -lQt5Core -lpthread -lpthread -lQt5Network -lQt5Core -lpthread -lpthread -lQt5Core -lpthread -lpthread -Wl,-whole-archive -lWebKit1 -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebKit/ -Wl,-whole-archive -lWebKit2 -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebKit2/ -lrt -Wl,-whole-archive -lWebCore -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebCore/ -lz -lXrender -lXcomposite -lXrender -lleveldb -lmemenv -ljpeg -lpng -lwebp -Wl,-whole-archive -lANGLE -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/ThirdParty/ANGLE/ -Wl,-whole-archive -lJavaScriptCore -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/JavaScriptCore/ -Wl,-whole-archive -lWTF -Wl,-no-whole-archive -L/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WTF/ -lXext -lX11 -lm -lX11 -lxslt -lxml2 -lz -lm -ldl -lm -lxml2 -lxml2 -lsqlite3 -licui18n -licuuc -licudata -lQt5Quick -lQt5Qml -lQt5Network -lQt5Core -lpthread -lpthread -lQt5Core -lpthread -lpthread -lQt5Gui -lQt5Core -lpthread -lpthread -lQt5Network -lQt5Core -lpthread -lpthread -lQt5Core -lpthread -lpthread -lQt5Qml -lQt5Network -lQt5Core -lpthread -lpthread -lQt5Core -lpthread -lpthread -lQt5Multimedia -lQt5Network -lQt5Core -lpthread -lpthread -lQt5Gui -lQt5Core -lpthread -lpthread -lQt5Core -lpthread -lpthread -lQt5Network -lQt5Core -lpthread -lpthread -lQt5Gui -lQt5Core -lpthread -lpthread -lQt5Sql -L/usr/lib64/mysql -lQt5Core -lpthread -lpthread -lQt5Core -lpthread -lGL 
/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebCore//libWebCore.a(/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebCore//.obj/platform/leveldb/LevelDBDatabase.o):LevelDBDatabase.cpp:function WebCore::openDB(leveldb::Comparator*, leveldb::Env*, WTF::String const&, leveldb::DB**) [clone .constprop.34]: error: undefined reference to 'leveldb::DB::Open(leveldb::Options const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::DB**)'
/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebCore//libWebCore.a(/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source/WebCore//.obj/platform/leveldb/LevelDBDatabase.o):LevelDBDatabase.cpp:function WebCore::LevelDBDatabase::destroy(WTF::String const&): error: undefined reference to 'leveldb::DestroyDB(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, leveldb::Options const&)'
collect2: error: ld returned 1 exit status
Makefile.api:109: recipe for target '../lib/' failed
make[2]: *** [../lib/] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source'
Makefile.QtWebKit:44: recipe for target 'sub-api-pri-make_first-ordered' failed
make[1]: *** [sub-api-pri-make_first-ordered] Error 2
make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwebkit-5.9999/work/qtwebkit-5.9999_build/Source'
Makefile:307: recipe for target 'sub-Source-QtWebKit-pro-make_first-ordered' failed
make: *** [sub-Source-QtWebKit-pro-make_first-ordered] Error 2
 * ERROR: dev-qt/qtwebkit-5.9999::qt failed (compile phase):
 *   emake failed
Comment 9 jospezial 2015-04-30 15:38:16 UTC
reinstall of dev-libs/leveldb-1.18-r1 did help.
Comment 10 Michael Palimaka (kensington) gentoo-dev 2015-06-17 17:41:04 UTC
This is in-tree in 5.4.2.
Comment 11 Marek Paśnikowski 2016-02-08 01:24:45 UTC
I have a tip for those using LTO by default.
Blacklisting QtWebKit5 from LTO is not enough as it will stop compiling on some undefined referenced to leveldb. Only hen both webkit and leveldb are stopped from using LTO will the compilation succeed.
I am probably not supposed to write this in here, but I do not think the issue is big enough to write a full bug report; and I just want to save some time for anyone else who will search for the solution in future.