Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 577574 - [qt overlay] dev-qt/qtwebkit-5.6.0 does not compile: private/qquickwebpage_p.h: No such file or directory
Summary: [qt overlay] dev-qt/qtwebkit-5.6.0 does not compile: private/qquickwebpage_p....
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
: 577670 (view as bug list)
Depends on:
Blocks: 577682
  Show dependency tree
 
Reported: 2016-03-16 18:15 UTC by Andrés Becerra Sandoval
Modified: 2016-04-23 12:32 UTC (History)
8 users (show)

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


Attachments
emerge --info output (emerge-info.txt,5.80 KB, text/plain)
2016-03-16 18:34 UTC, Andrés Becerra Sandoval
Details
ebuild patch (qtwebkit-5.6.0.ebuild.patch,773 bytes, patch)
2016-03-18 02:06 UTC, Eugene Shalygin
Details | Diff
Port of Eugene Shalygin's patch for qtwebkit 5.7.0_alpha (mods_for_for_5.7.0_alpha.patch,1.36 KB, patch)
2016-03-18 12:18 UTC, Jan-Matthias Braun
Details | Diff
qtwebkit-5.6.0-fix_include_paths.patch (qtwebkit-5.6.0-fix_include_paths.patch,766 bytes, patch)
2016-03-18 13:44 UTC, Bob Wya
Details | Diff
qtwebkit-5.6.0.ebuild.patch (qt overlay) (qtwebkit-5.6.0.ebuild.patch,539 bytes, patch)
2016-03-18 15:12 UTC, Bob Wya
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrés Becerra Sandoval 2016-03-16 18:15:25 UTC
I get the compilation error:

Does qt-5.6.0, with an imminent release have the same problem?

x86_64-pc-linux-gnu-g++ -c -Wall -Wextra -Wreturn-type -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -O2 -mtune=athlon64 -pipe -fno-strict-aliasing -std=gnu++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -D_REENTRANT -fPIC -MMD -DQT_NO_MTDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT
-DHAVE_WEBKIT2 -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DENABLE_BLOB=1 -DENABLE_CANVAS_PATH=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHAPES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SUBPIXEL_LAYOUT=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIEW_MODE_CSS_MEDIA=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DWTF_USE_LIBXML2=1 -DENABLE_XSLT=1 -DWTF_USE_ZLIB=1 -DWTF_USE_SYSTEM_LEVELDB=1 -DWTF_USE_LIBJPEG=1 -DWTF_USE_LIBPNG=1 -DHAVE_XCOMPOSITE=1 -DHAVE_XRENDER=1 -DHAVE_GLX=1 -DHAVE_FONTCONFIG=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DWTF_USE_PLUGIN_BACKEND_XLIB=1 -DPLUGIN_ARCHITECTURE_X11=1 -DENABLE_PLUGIN_PROCESS=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DHAVE_SQLITE3=1 -DENABLE_GAMEPAD=1 -DWTF_USE_GRAPHICS_SURFACE=1 -DWTF_USE_GLX=1 -DENABLE_TOUCH_SLIDER=1 -DWTF_USE_LEVELDB=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_CANVAS_PROXY=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_SHADERS=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS3_TEXT_LINE_BREAK=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DEVICE_ORIENTATION=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_FONT_LOAD_EVENTS=0 -DENABLE_GEOLOCATION=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MICRODATA=0 -DENABLE_MOUSE_CURSOR_SCALE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETWORK_INFO=0 -DENABLE_NOSNIFF=0 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_RESOURCE_TIMING=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SECCOMP_FILTERS=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_TEMPLATE_ELEMENT=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_THREADED_HTML_PARSER=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_USER_TIMING=0 -DENABLE_VIBRATION=0 -DENABLE_VIDEO=0 -DENABLE_VIDEO_TRACK=0 -DENABLE_WEB_AUDIO=0 -DBUILDING_qmlwebkitplugin -DQT_ASCII_CAST_WARNINGS -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WEBKIT_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../../../../Source -I../../../include -I../../../WTF -I/var/tmp/portage/dev-qt/qtwebkit-5.7.0_alpha/work/qtwebkit-opensource-src-5.7.0/include/QtWebKit/5.7.0 -I/var/tmp/portage/dev-qt/qtwebkit-5.7.0_alpha/work/qtwebkit-opensource-src-5.7.0/include/QtWebKit/5.7.0/QtWebKit -I../../../../include -I../../../../include/QtWebKit -isystem /usr/include/qt5/QtQuick/5.7.0 -isystem /usr/include/qt5/QtQuick/5.7.0/QtQuick -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtQuick -isystem /usr/include/qt5/QtGui/5.7.0 -isystem /usr/include/qt5/QtGui/5.7.0/QtGui -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtQml/5.7.0 -isystem /usr/include/qt5/QtQml/5.7.0/QtQml -isystem /usr/include/qt5/QtQml -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore/5.7.0 -isystem /usr/include/qt5/QtCore/5.7.0/QtCore -isystem /usr/include/qt5/QtCore -I.moc -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/plugin.o plugin.cpp
plugin.cpp:28:37: fatal error: private/qquickwebpage_p.h: No such file or directory
compilation terminated.
Comment 1 Andrés Becerra Sandoval 2016-03-16 18:34:11 UTC
Created attachment 428378 [details]
emerge --info output
Comment 2 Michael Palimaka (kensington) gentoo-dev 2016-03-17 16:26:19 UTC
(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. :-(
Comment 3 Eugene Shalygin 2016-03-17 16:37:16 UTC
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
Comment 4 Eugene Shalygin 2016-03-17 17:20:26 UTC
manual call to syncqt helps with the above quoted problem
Comment 5 Eugene Shalygin 2016-03-17 18:38:40 UTC
Update: syncqt -private call in the Source subdir eliminates include errors except the one with private/qquickwebpage_p.h
Comment 6 Davide Pesavento (RETIRED) gentoo-dev 2016-03-17 19:15:27 UTC
(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...
Comment 7 Eugene Shalygin 2016-03-18 02:05:23 UTC
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
+}
+
Comment 8 Eugene Shalygin 2016-03-18 02:06:46 UTC
Created attachment 428482 [details, diff]
ebuild patch
Comment 9 Jan-Matthias Braun 2016-03-18 12:18:18 UTC
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!
Comment 10 Bob Wya 2016-03-18 13:44:17 UTC
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'.
Comment 11 Bob Wya 2016-03-18 15:12:46 UTC
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!!)
Comment 12 Sergey Ilinykh 2016-03-18 19:14:46 UTC
Thanks for fixes!

>>> dev-qt/qtwebkit-5.7.0_alpha merged.


I used one from @Bob Wya
Comment 13 Bob Wya 2016-03-18 19:28:27 UTC
(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!!
Comment 14 Sergey Ilinykh 2016-03-18 20:03:02 UTC
hm qtwebkit headers have not been installed.

May be I have to try clean build instead of making fixes on the fly..
Comment 15 Davide Pesavento (RETIRED) gentoo-dev 2016-03-18 22:19:51 UTC
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.
Comment 16 Sergey Ilinykh 2016-03-19 09:36:02 UTC
yes, just 
/usr/lib/qt5/bin/syncqt.pl -private -version <version> Source
is enough for successful compilation and installation.
Comment 17 Eugene Shalygin 2016-03-19 14:05:27 UTC
In my case the header files were not installed after the syncqt call. I had to make install_subtargets
Comment 18 Manfred Knick 2016-03-31 14:11:43 UTC
(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.
Comment 19 Michael Palimaka (kensington) gentoo-dev 2016-04-01 15:33:10 UTC
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
Comment 20 Vadim A. Misbakh-Soloviov (mva) gentoo-dev 2016-04-06 14:34:39 UTC
(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.
Comment 21 Davide Pesavento (RETIRED) gentoo-dev 2016-04-06 15:03:24 UTC
(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
Comment 22 Manfred Knick 2016-04-08 17:54:40 UTC
(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" .
Comment 23 Davide Pesavento (RETIRED) gentoo-dev 2016-04-23 12:32:13 UTC
*** Bug 577670 has been marked as a duplicate of this bug. ***