Summary: | [qt overlay] dev-qt/qtwebkit-5.6.0 does not compile: private/qquickwebpage_p.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andrés Becerra Sandoval <andres.becerra> |
Component: | [OLD] Library | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ab4bd, bob.mt.wya, eugene.shalygin, jan_braun, josef64, Manfred.Knick, mva, ua_gentoo_bugzilla |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 577682 | ||
Attachments: |
emerge --info output
ebuild patch Port of Eugene Shalygin's patch for qtwebkit 5.7.0_alpha qtwebkit-5.6.0-fix_include_paths.patch qtwebkit-5.6.0.ebuild.patch (qt overlay) |
Description
Andrés Becerra Sandoval
2016-03-16 18:15:25 UTC
Created attachment 428378 [details]
emerge --info output
(In reply to Andrés Becerra Sandoval from comment #0) > I get the compilation error: > > Does qt-5.6.0, with an imminent release have the same problem? Yep. :-( Qt 5.6.0 has a bit different problem: In file included from WebKit/qt/WidgetApi/qgraphicswebview.cpp:22:0: WebKit/qt/WidgetApi/qgraphicswebview.h:23:36: fatal error: QtWebKit/qwebkitglobal.h: No such file or directory In file included from WebKit/qt/WidgetApi/qwebpage.cpp:23:0: WebKit/qt/WidgetApi/qwebpage.h:24:36: fatal error: QtWebKit/qwebkitglobal.h: No such file or directory compilation terminated. compilation terminated. Makefile.widgetsapi:937: recipe for target '.obj/WebKit/qt/WidgetApi/qwebpage.o' failed make[2]: *** [.obj/WebKit/qt/WidgetApi/qwebpage.o] Error 1 make[2]: *** Waiting for unfinished jobs.... Makefile.widgetsapi:881: recipe for target '.obj/WebKit/qt/WidgetApi/qgraphicswebview.o' failed make[2]: *** [.obj/WebKit/qt/WidgetApi/qgraphicswebview.o] Error 1 In file included from WebKit/qt/WidgetApi/qwebview.cpp:23:0: WebKit/qt/WidgetApi/qwebview.h:24:36: fatal error: QtWebKit/qwebkitglobal.h: No such file or directory manual call to syncqt helps with the above quoted problem Update: syncqt -private call in the Source subdir eliminates include errors except the one with private/qquickwebpage_p.h (In reply to Eugene Shalygin from comment #4) > manual call to syncqt helps with the above quoted problem hmmm I think I've read something like this somewhere (upstream ML?), but it was supposed to be fixed in the final 5.6.0 tarballs... With the following changes it compiles: --- /var/portage/repository/qt/dev-qt/qtwebkit/qtwebkit-5.6.0.ebuild 2016-03-17 14:03:08.213831445 +0100 +++ qtwebkit-5.6.0.ebuild 2016-03-18 02:36:02.573393361 +0100 @@ -105,5 +105,15 @@ # bug 458222 sed -i -e '/SUBDIRS += examples/d' Source/QtWebKit.pro || die + echo "INCLUDEPATH += ../../../include/QtWebKit/5.6.0/QtWebKit ../../../include/QtWebKit/" >> Source/WebKit/qt/declarative/public.pri + echo "INCLUDEPATH += ../../../../include/QtWebKit/5.6.0/QtWebKit ../../../../include/QtWebKit/" >> Source/WebKit/qt/declarative/experimental/experimental.pri + + /usr/lib/qt5/bin/syncqt.pl -private -version 5.6.0 Source qt5-build_src_prepare } + +src_install(){ + qt5_foreach_target_subdir emake INSTALL_ROOT="${D}" install_subtargets + qt5-build_src_install +} + Created attachment 428482 [details, diff]
ebuild patch
Created attachment 428492 [details, diff]
Port of Eugene Shalygin's patch for qtwebkit 5.7.0_alpha
Thanks a lot for your patch, you massively lessened my pain! :-)
I took the freedom to apply your patch to the qtwebkit 5.7.0_alpha-ebuild, which is suffering from the same problem, and attached it.
Have a nice weekend everybody!
Created attachment 428530 [details, diff]
qtwebkit-5.6.0-fix_include_paths.patch
Full disclaimer: I ain't no Qt developer!! But I was wondering if the attached patch was a cleaner way of getting the additional INCLUDEPATH 's into the qtwebkit Project Include Files.
No sure if "it's working" (TM)... But I have the =dev-qt/qtwebkit-5.6.0 package building with the above patch and only the following modifications to the ebuild:
--- /var/lib/layman/qt/dev-qt/qtwebkit/qtwebkit-5.6.0.ebuild 2016-03-17 18:19:26.470400795 +0000
+++ /usr/local/portage/dev-qt/qtwebkit/qtwebkit-5.6.0.ebuild 2016-03-18 11:04:43.136951461 +0000
@@ -107,3 +107,9 @@
+ /usr/lib/qt5/bin/syncqt.pl -private -version 5.6.0 Source
qt5-build_src_prepare
}
+
+src_install() {
+ qt5_foreach_target_subdir emake INSTALL_ROOT="${D}" install_subtargets
+ qt5-build_src_install
+}
Thanks to Eugene Shalygin!! You're a life saver... Now on to find the other broken packages... :-(
Damn it's just a sad shame the Qt Developers don't actually test building out-of-tree...
Built with the following USE flags:
[ebuild R ~] dev-qt/qtwebkit-5.6.0:5/5::bobwya [5.6.0:5/5.6::qt] USE="geolocation gstreamer jit opengl printsupport qml* -debug -gstreamer010 -multimedia -orientation {-test} -webchannel -webp" 0 KiB
Before Eugene's patch the qml USE flag was 'broken'.
Created attachment 428536 [details, diff]
qtwebkit-5.6.0.ebuild.patch (qt overlay)
Patch to use against stock: qtwebkit-5.6.0.ebuild
Use with (above): qtwebkit-5.6.0-fix_include_paths.patch
(moved to files/ directory obviously!!)
Thanks for fixes!
>>> dev-qt/qtwebkit-5.7.0_alpha merged.
I used one from @Bob Wya
(In reply to Rion from comment #12) > Thanks for fixes! > I used one from @Bob Wya Hey all credit goes to Eugene Shalygin!! I just tried to tidy up HIS fix a bit :-) I certainly never would have figured out that obscure Qt5 foo!! hm qtwebkit headers have not been installed. May be I have to try clean build instead of making fixes on the fly.. http://lists.qt-project.org/pipermail/development/2016-March/025338.html Upstream confirms that they forgot to run syncqt before creating the release tarball, and qmake doesn't do it because it detects that it's not a build from git. Manually running syncqt is the correct workaround. yes, just /usr/lib/qt5/bin/syncqt.pl -private -version <version> Source is enough for successful compilation and installation. In my case the header files were not installed after the syncqt call. I had to make install_subtargets (In reply to Davide Pesavento from comment #15) Just as a cross-reference: Our colleagues from the "linux from scratch" projekt use the same work-around: . . . syncqt.pl -version 5.6.0 Source/sync.profile && [ http://www.linuxfromscratch.org/blfs/view/svn/x/qtwebkit5.html ] Unfortunately, upstream's download page . . . http://download.qt.io/community_releases/5.6/5.6.0/ still displays "16-Mar-2016 09:56" for "Last modified" - no amendment at all yet. Thanks everyone for the information and investigation, this is now fixed in git. I've opted for the simplest solution from comment #18 for now, it works for me and is also used by fedora. https://gitweb.gentoo.org/proj/qt.git/commit/?id=e9c83fdc1a992d599593e963f44ef44dccfa4090 (In reply to Michael Palimaka (kensington) from comment #19) > Thanks everyone for the information and investigation, this is now fixed in > git. > > I've opted for the simplest solution from comment #18 for now, it works for > me and is also used by fedora. > > https://gitweb.gentoo.org/proj/qt.git/commit/ > ?id=e9c83fdc1a992d599593e963f44ef44dccfa4090 For 5.7.0_alpha that should be > "$(qt5_get_bindir)"/syncqt.pl -version ${PV//_alpha} Source/sync.profile With current ${PV} there, build anyway fails with that error. (In reply to Vadim A. Misbakh-Soloviov (mva) from comment #20) > > For 5.7.0_alpha that should be > > "$(qt5_get_bindir)"/syncqt.pl -version ${PV//_alpha} Source/sync.profile > > With current ${PV} there, build anyway fails with that error. Thanks, should be fixed now. https://gitweb.gentoo.org/proj/qt.git/commit/?id=29bae4f9e1ba1f3a75738062b3a88a8a92976dd7 (In reply to Manfred Knick from comment #18) > Unfortunately, upstream's download page > > . . . http://download.qt.io/community_releases/5.6/5.6.0/ > > still displays "16-Mar-2016 09:56" for "Last modified" - > no amendment at all yet. CHANGE: Now it displays "06-Apr-2016 11:55" for "Last modified" . *** Bug 577670 has been marked as a duplicate of this bug. *** |