Bug 148894

Summary: [WK2][GTK][GStreamer] Build fails when -plugins-base and -core headers are not installed in same directory
Product: WebKit Reporter: 宋文武 <iyzsong>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: cgarcia, hhochleitner, pnormand
Priority: P2    
Version: Other   
Hardware: Unspecified   
OS: Linux   
Attachments:
Description Flags
patch
none
patch cgarcia: review+, cgarcia: commit-queue-

Description 宋文武 2015-09-05 00:42:50 PDT
otherwise, failed with:
...
[ 91%] Building CXX object Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/WebPageProxy.cpp.o
In file included from /tmp/nix-build-webkitgtk-2.8.5.drv-0/webkitgtk-2.8.5/build/DerivedSources/ForwardingHeaders/WebCore/GUniquePtrGStreamer.h:1:0,
                 from /tmp/nix-build-webkitgtk-2.8.5.drv-0/webkitgtk-2.8.5/Source/WebKit2/UIProcess/PageClient.h:38,
                 from /tmp/nix-build-webkitgtk-2.8.5.drv-0/webkitgtk-2.8.5/Source/WebKit2/UIProcess/WebPageProxy.cpp:61:
/tmp/nix-build-webkitgtk-2.8.5.drv-0/webkitgtk-2.8.5/Source/WebCore/platform/graphics/gstreamer/GUniquePtrGStreamer.h:25:41: fatal error: gst/pbutils/install-plugins.h: No such file or directory
 #include <gst/pbutils/install-plugins.h>
                                         ^
compilation terminated.
Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:6367: recipe for target 'Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/WebPageProxy.cpp.o' failed
make[2]: *** [Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/WebPageProxy.cpp.o] Error 1
...
Comment 1 Philippe Normand 2016-06-02 06:08:10 PDT
Is this issue still valid?
Comment 2 Philippe Normand 2016-08-30 06:04:27 PDT
Assuming this bug can be closed, no follow-up feedback from the bug reporter and the build bots have no such issue either.

Please reopen if any change is really needed :)
Comment 3 Herwig Hochleitner 2016-11-03 10:19:53 PDT
This is still a problem with 2.14

see https://github.com/NixOS/nixpkgs/blob/b137b8d1aa14637db1397aaffacf0524d95803e6/pkgs/development/libraries/webkitgtk/2.14.nix#L44
for our current workaround

when removing it, i got

[ 95%] Building CXX object Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/API/gtk/PageClientImpl.cpp.o
In file included from /tmp/nix-build-webkitgtk-2.14.2.drv-0/webkitgtk-2.14.2/build/DerivedSources/ForwardingHeaders/WebCore/GUniquePtrGStreamer.h:1:0,
                 from /tmp/nix-build-webkitgtk-2.14.2.drv-0/webkitgtk-2.14.2/Source/WebKit2/UIProcess/gstreamer/InstallMissingMediaPluginsPermissionRequest.h:30,
                 from /tmp/nix-build-webkitgtk-2.14.2.drv-0/webkitgtk-2.14.2/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h:30,
                 from /tmp/nix-build-webkitgtk-2.14.2.drv-0/webkitgtk-2.14.2/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp:41:
/tmp/nix-build-webkitgtk-2.14.2.drv-0/webkitgtk-2.14.2/Source/WebCore/platform/graphics/gstreamer/GUniquePtrGStreamer.h:25:41: fatal error: gst/pbutils/install-plugins.h: No such file or directory
compilation terminated.
make[2]: *** [Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:12932: Source/WebKit2/CMakeFiles/WebKit2.dir/UIProcess/API/gtk/PageClientImpl.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1534: Source/WebKit2/CMakeFiles/WebKit2.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
builder for ‘/nix/store/b0i8cbyxczybnnibb93l0jv7ma6k5f09-webkitgtk-2.14.2.drv’ failed with exit code 2
Comment 4 Philippe Normand 2016-11-04 04:03:38 PDT
Thanks, this should be easy to fix. Please test the patch I'm about to upload here.
Comment 5 Philippe Normand 2016-11-04 04:05:54 PDT
Created attachment 293877 [details]
patch
Comment 6 Philippe Normand 2016-11-04 04:07:13 PDT
Created attachment 293878 [details]
patch
Comment 7 Herwig Hochleitner 2016-11-04 04:16:37 PDT
Thanks, I'm running a build with patch 293878 (sans ChangeLog update, which doesn't apply against 2.14.2)

Will report back, when it finishes ...
Comment 8 Herwig Hochleitner 2016-11-04 07:49:32 PDT
Build of 2.14.2 + patch finished successfully. Thanks!
Comment 9 Carlos Garcia Campos 2016-11-06 23:34:47 PST
Comment on attachment 293878 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=293878&action=review

I'm confused. I have no idea what pbutils is, but the bug title refers to GSTREAMER_BASE_INCLUDE_DIRS and WebKit2_INCLUDE_DIRECTORIES and the patch includes GSTREAMER_PBUTILS_INCLUDE_DIRS in WebKit2_SYSTEM_INCLUDE_DIRECTORIES

> Source/WebKit2/ChangeLog:9
> +        * PlatformGTK.cmake: The GStreamer pbutils include directory was
> +        missing in the header search path.

Could you explain here what is broken? do we fail to build with any build config?
Comment 10 Philippe Normand 2016-11-10 00:04:31 PST
Committed r208528: <http://trac.webkit.org/changeset/208528>