Summary: | net-misc/owncloud-client-1.6.0 with Qt5 - CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find Qt5Keychain (missing: QTKEYCHAIN_LIBRARY | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | J.Borme <gentoo_bugs.nu_q5v> |
Component: | Current packages | Assignee: | Bernard Cafarelli <voyageur> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jan_braun, kensington, kuba.iluvatar, orzel |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 454132 | ||
Attachments: |
net-misc:owncloud-client-1.6.0:20140608-111851.log
emerge--info owncloud-client-1.6.0 build log Patch allows to build with qt4 if qt5 is installed on the system. |
Description
J.Borme
2014-06-08 11:14:31 UTC
1) Please post your `emerge --info' output in a comment. 2) Please attach the entire build log to this bug report Created attachment 378460 [details]
net-misc:owncloud-client-1.6.0:20140608-111851.log
Created attachment 378498 [details]
emerge--info
As per request.
Created attachment 378502 [details]
owncloud-client-1.6.0 build log
Note that this bug report has several related issues:
1. There should be a USE flag in owncloud-client for qt5 and qt4.
2. In case of USE=qt5, the ebuild should depend on dev-qt/qtprintsupport, dev-qt/linguist-tools, dev-libs/qtkeychain[qt5] (perhaps more)
3. And finally, as it happens, owncloud-client-1.6.0 does not build even when qtkeychain is installed.
Regarding the last point, it seems that dev-libs/qtkeychain-0.3.0 refuses to build with qt5 support, and this could be why owncloud-client then does not find the lib.
Here is what happens when I try to force qtkeychain to build with qt5:
# USE="-qt4 qt5" emerge --ask qtkeychain
These are the packages that would be merged, in order:
Calculating dependencies |
!!! Problem resolving dependencies for dev-libs/qtkeychain ... done!
!!! The ebuild selected to satisfy "qtkeychain" has unmet requirements.
- dev-libs/qtkeychain-0.3.0::gentoo USE="-qt4 (-qt5)"
The following REQUIRED_USE flag constraints are unsatisfied:
any-of ( qt4 qt5 )
(In reply to Jérôme Borme from comment #4) dev-libs/qtkeychain allows building for *both* qt4 and qt5, it's just that the qt5 use flag is currently masked in profiles/base/use.mask . These were enough to get owncloud-client compile and install here: /etc/portage/profile/package.use.mask/qt5: dev-libs/qtkeychain -qt5 /etc/portage/package.use/qt5: dev-libs/qtkeychain qt4 qt5 (In reply to Jouni Kosonen from comment #5) Thanks, it worked. (In reply to Jérôme Borme from comment #6) > (In reply to Jouni Kosonen from comment #5) > Thanks, it worked. It compiles here but complains that system tray is required. (In reply to Andrius Štikonas from comment #7) > It compiles here but complains that system tray is required. Yes same error here. After uninstalling qt5 and emerging again owncloud-client-1.6.0, it launches and finds the system tray just as previous versions did. (My system tray is from fluxbox.) Having the same problem here (systray missing). Is it possible to have qt4 and qt5 installed in slots and compile owncloud-client against qt4? (In reply to Michael Hampicke from comment #9) > Is it possible to have qt4 and qt5 installed in slots and compile > owncloud-client against qt4? Someone needs to spend time working on the ebuild to make this possible, but as a temporary workaround I uninstalled qt5 to compile owncloud-client, then installed qt5 again from binary packages I prepared in advance. Instructions: export LIST="=qtdbus-5.3.0 =qtnetwork-5.3.0 =qtopengl-5.3.0 =qtdeclarative-5.3.0 =qtprintsupport-5.3.0 =qtkeychain-0.3.0 =qtwebkit-5.3.0 =qtcore-5.3.0 =qtgui-5.3.0 =qtsvg-5.3.0 =qtwidgets-5.3.0 =qtxmlpatterns-5.3.0 =qtsql-5.3.0 =qtscript-5.3.0 =qttest-5.3.0 =qtxml-5.3.0 =linguist-tools-5.3.0" quickpkg $LIST emerge --unmerge $LIST emerge =net-misc/owncloud-client-1.6.0 emerge --getbinpkgonly $LIST I expected some trouble with qtkeychain as in this procedure, owncloud-client is linked with qtkeychain compiled only with qt4, and in the end qtkeychain is overwritten with a version compiled prepared for both qt4 and qt5. But I had no problem. You can force a Qt 4 build with -DBUILD_WITH_QT4=ON. (In reply to Jérôme Borme from comment #0) for a qt5 build dev-qt/qtwebkit[widgets] also seems to be requiered Created attachment 379022 [details, diff]
Patch allows to build with qt4 if qt5 is installed on the system.
I have taken the information from the previous comments to update the ebuild.
USE flags qt4 and qt5 are now available, which will depend on the corresponding SLOTs. I have included the mentioned additional packages.
qt5 will be ignored, if the qt4 USE flag is enabled.
Caution: I have *not tested to install* the ebuild with qt5 USE flag enabled. I have only tested, if emerge could resolve the dependencies. Therefore, it is probable, that it won't work.
got hit by a similar problem today with portage updated few hours ago. I dont need/want owncloud to be built against qt5, i dont really care as far as it works. net-misc/owncloud-client-1.6.0 fails with : /usr/bin/x86_64-pc-linux-gnu-g++ -march=native -pipe -O2 -Wall -Wextra -Wpedantic -Wno-long-long -fPIC -Wl,-O1 -Wl,--as-needed CMakeFiles/owncloudcmd.dir/owncloudcmd/simplesslerrorhandler.cpp.o CMakeFiles/owncloudcmd.dir/owncloudcmd/owncloudcmd.cpp.o CMakeFiles/owncloudcmd.dir/owncloudcmd_automoc.cpp.o -o ../bin/owncloudcmd -rdynamic /usr/lib64/libQt5Network.so.5.3.0 /usr/lib64/libQt5Sql.so.5.3.0 libowncloudsync.so.1.6.0 /usr/lib64/libQt5Sql.so.5.3.0 /usr/lib64/libQt5Xml.so.5.3.0 /usr/lib64/libQt5WebKitWidgets.so.5.2.1 /usr/lib64/libQt5Quick.so.5.3.0 /usr/lib64/libQt5Qml.so.5.3.0 /usr/lib64/libQt5OpenGL.so.5.3.0 /usr/lib64/libQt5PrintSupport.so.5.3.0 /usr/lib64/libQt5Widgets.so.5.3.0 /usr/lib64/libQt5WebKit.so.5.2.1 /usr/lib64/libQt5Network.so.5.3.0 /usr/lib64/libQt5Gui.so.5.3.1 /usr/lib64/libQt5Core.so.5.3.0 ../csync/src/libocsync.so.0.2.1 ../csync/src/std/libcstdlib.a -lrt -ldl -lsqlite3 ../csync/src/httpbf/libhttpbf.a -lqt5keychain -lneon -Wl,-rpath,/tmp/portage/net-misc/owncloud-client-1.6.0/work/owncloud-client-1.6.0_build/src:/tmp/portage/net-misc/owncloud-client-1.6.0/work/owncloud-client-1.6.0_build/csync/src: /usr/lib64/libQt5OpenGL.so.5.3.0: undefined reference to `QOpenGLContext::isES() const' collect2: error: ld returned 1 exit status cmake output says this : -- Found Qt5 core, checking for further dependencies... -- Using Qt 5! -- Found PkgConfig: /usr/bin/x86_64-pc-linux-gnu-pkg-config (found version "0.28") -- checking for module 'neon' -- found neon, version 0.30.0 -- Found Neon: /usr/lib64/libneon.so -- neon-config executable: /usr/bin/neon-config -- libneon has not been compiled with LFS support, rely on OS -- Found Qt5Keychain: /usr/lib64/libqt5keychain.so Thanks for the report and suggestions, I'll get this fixed before bumping to 1.6.1 (though the qt5 parts will be untested as I do not have it installed) All suggestions (and a few additional changes) merged in 1.6.1 ebuild, thanks everybody! tested today. Works with USE="qt4 -qt5". Thanks! As a side note, with "qt4 qt5", there's no error, though i haven't been until the end of compilation. Usually there's a rule "only one of" in the ebuild. (In reply to Thomas Capricelli from comment #17) > As a side note, with "qt4 qt5", there's no error, though i haven't been > until the end of compilation. I tested all cases: * USE="-qt4 -qt5" -> not possible to resolve dependencies * USE="-qt4 qt5" -> links with qt5 (and executable complains of lack of of system tray) * USE="qt4 -qt5" -> links with qt4 and runs normally * USE="qt4 qt5" -> also links with qt4 and runs normally Thanks for the tests, I updated the REQUIRED_USE line to require qt4 or qt5, but not both (as other applications currently do) |