Bug 240511 - [WPE] Build failure when gobject-introspection not properly installed
Summary: [WPE] Build failure when gobject-introspection not properly installed
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: Other
Hardware: PC Linux
: P2 Blocker
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-17 00:38 PDT by Dmytro Sotnikov
Modified: 2023-03-15 14:52 PDT (History)
3 users (show)

See Also:


Attachments
image with error (479.69 KB, image/png)
2022-05-17 00:38 PDT, Dmytro Sotnikov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dmytro Sotnikov 2022-05-17 00:38:15 PDT
Created attachment 459486 [details]
image with error

Below I will describe all my actions (I have a PC with Windows 10):
1. Installed Oracle Virtual Box.
2. Installed Ubuntu 22.04.
3. Cloned the Webkit project (using the command `git clone https://github.com/WebKit/WebKit.git WebKit`).
4. In Terminal I used `cd WebKit` and after that `cmake -DPORT=WPE -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja` (there were a lot of errors about missing libraries after this command).
5. Installed all libraries (more than 15).
6. Used the `cmake -DPORT=WPE -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja` command again (no errors).
7. After that, I used the `ninja` command and an error occurred.

I need to install a WPE browser and further automate testing of an application that is created for this browser using Python Selenium WebDriver.
Comment 1 Michael Catanzaro 2022-05-17 05:19:21 PDT
Hi, this doesn't look like a WebKit bug. If you use -DENABLE_MINIBROWSER=ON then you should get MiniBrowser which might be good enough for your testing. For something better than that, try https://github.com/Igalia/cog.
Comment 2 Michael Catanzaro 2022-05-17 05:29:32 PDT
(In reply to Dmytro Sotnikov from comment #0)
> 7. After that, I used the `ninja` command and an error occurred.

Oh sorry, I see you failed to build WebKit altogether. Please, post the actual error message here, don't just post a screenshot. Make sure to install the dev package for gobject-introspection. This is probably actually a WebKit bug, because we should check for this initially when running cmake and fail the build with a nice error message if missing, and not fail later with this confusing message when running ninja.
Comment 3 Michael Catanzaro 2022-05-17 06:00:46 PDT
Probably something wrong inside FindGI.cmake, but it's complicated and I've never understood how find modules work.
Comment 4 Dmytro Sotnikov 2022-05-17 06:19:22 PDT
(In reply to Michael Catanzaro from comment #2)
> (In reply to Dmytro Sotnikov from comment #0)
> > 7. After that, I used the `ninja` command and an error occurred.
> 
> Oh sorry, I see you failed to build WebKit altogether. Please, post the
> actual error message here, don't just post a screenshot. Make sure to
> install the dev package for gobject-introspection. This is probably actually
> a WebKit bug, because we should check for this initially when running cmake
> and fail the build with a nice error message if missing, and not fail later
> with this confusing message when running ninja.

dmytro@dmytro-VirtualBox:~/Desktop/WebKit$ cmake -DPORT=WPE -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja
CMake Warning:
  No source or binary directory provided.  Both will be assumed to be the
  same as the current working directory, but note that this warning will
  become a fatal error in future CMake releases.


-- The CMake build type is: RelWithDebInfo
-- Could NOT find Ruby (missing: Ruby_INCLUDE_DIR Ruby_LIBRARY Ruby_CONFIG_INCLUDE_DIR) (found suitable version "3.0.2", minimum required is "1.9")
-- Enabling ccache: Couldn't find ccache program. Not enabling it.
-- Performing Test C_COMPILER_SUPPORTS_-fdiagnostics-color=always
-- Performing Test C_COMPILER_SUPPORTS_-fdiagnostics-color=always - Success
-- Performing Test CXX_COMPILER_SUPPORTS_-fdiagnostics-color=always
-- Performing Test CXX_COMPILER_SUPPORTS_-fdiagnostics-color=always - Success
-- Linker variant in use: BFD 
--   Linker supports thin archives - TRUE
--   Linker supports split debug info - TRUE
--   Linker supports --gdb-index - FALSE
--   Linker supports --disable-new-dtags - TRUE
-- Archiver variant in use: BFD
--   Archiver supports thin archives - TRUE
-- Found the following HarfBuzz libraries:
--  HarfBuzz (required): /usr/lib/x86_64-linux-gnu/libharfbuzz.so
--  ICU (required): /usr/lib/x86_64-linux-gnu/libharfbuzz-icu.so
-- Found the following ICU libraries:
--   data (required)
--   i18n (required)
--   uc (required)
-- Found the following WebP libraries:
--  WebP (required): /usr/lib/x86_64-linux-gnu/libwebp.so
--  demux (required): /usr/lib/x86_64-linux-gnu/libwebpdemux.so
-- Disabling USE_GSTREAMER_TRANSCODER since ENABLE_MEDIA_RECORDER is disabled.
-- Disabling USE_GSTREAMER_WEBRTC since ENABLE_WEB_RTC is disabled.
-- Checking for module 'gobject-introspection-1.0'
--   No package 'gobject-introspection-1.0' found
-- Checking for module 'gobject-introspection-1.0'
--   No package 'gobject-introspection-1.0' found
-- Found the following WOFF2 libraries:
--  WOFF2 (required): /usr/lib/x86_64-linux-gnu/libwoff2common.so
--  dec (required): /usr/lib/x86_64-linux-gnu/libwoff2dec.so
-- Checking for module 'gstreamer-full-1.0>=1.17.0'
--   No package 'gstreamer-full-1.0' found
-- Checking for module 'gstreamer-mpegts-1.0>=1.4.0'
--   No package 'gstreamer-mpegts-1.0' found
-- Checking for module 'gstreamer-codecparsers-1.0 >= 1.14.0'
--   No package 'gstreamer-codecparsers-1.0' found
-- Checking for module 'gstreamer-transcoder-1.0 >= 1.14.0'
--   No package 'gstreamer-transcoder-1.0' found
-- Checking for module 'gstreamer-webrtc-1.0 >= 1.14.0'
--   No package 'gstreamer-webrtc-1.0' found
-- Platform-specific CMakeLists not found: /home/dmytro/Desktop/WebKit/Source/bmalloc/PlatformWPE.cmake
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/WTF/wtf/PlatformWPE.cmake
-- Copying generate-unified-source-bundles.rb to: /home/dmytro/Desktop/WebKit/WTF/Scripts
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/PlatformWPE.cmake
-- Performing Test CXX_COMPILER_SUPPORTS_-ffp-contract=off
-- Performing Test CXX_COMPILER_SUPPORTS_-ffp-contract=off - Success
-- Enabling asm postprocessing
-- Using source list file: Sources.txt
-- Using source list file: inspector/remote/SourcesGLib.txt
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/shell/PlatformWPE.cmake
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/ThirdParty/ANGLE/PlatformWPE.cmake
-- Performing Test CXX_COMPILER_SUPPORTS_-Wno-suggest-attribute=format
-- Performing Test CXX_COMPILER_SUPPORTS_-Wno-suggest-attribute=format - Success
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/WebInspectorUI/PlatformWPE.cmake
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/WebCore/PAL/pal/PlatformWPE.cmake
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/WebCore/PlatformWPE.cmake
-- Using source list file: Sources.txt
-- Using source list file: platform/SourcesCairo.txt
-- Using source list file: platform/SourcesGCrypt.txt
-- Using source list file: platform/SourcesSoup.txt
-- Using source list file: SourcesWPE.txt
-- Using source list file: platform/SourcesGLib.txt
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/WebKit/PlatformWPE.cmake
-- Using source list file: Sources.txt
-- Using source list file: SourcesWPE.txt
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/WebDriver/PlatformWPE.cmake
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Source/PlatformWPE.cmake
-- Using platform-specific CMakeLists: /home/dmytro/Desktop/WebKit/Tools/PlatformWPE.cmake
-- Enabled features:
--  ENABLE_ACCESSIBILITY .......................... ON
--  ENABLE_BUBBLEWRAP_SANDBOX                       ON
--  ENABLE_DOCUMENTATION .......................... ON
--  ENABLE_ENCRYPTED_MEDIA                          OFF
--  ENABLE_INTROSPECTION .......................... ON
--  ENABLE_JOURNALD_LOG                             ON
--  ENABLE_MEDIA_SOURCE ........................... ON
--  ENABLE_PDFJS                                    ON
--  ENABLE_VIDEO .................................. ON
--  ENABLE_WEBDRIVER                                ON
--  ENABLE_WEB_AUDIO .............................. ON
--  ENABLE_WEB_CRYPTO                               ON
--  ENABLE_WPE_QT_API ............................. OFF
--  ENABLE_XSLT                                     ON
--  USE_ANGLE_WEBGL ............................... OFF
--  USE_AVIF                                        OFF
--  USE_JPEGXL .................................... OFF
--  USE_LCMS                                        ON
--  USE_OPENJPEG .................................. ON
--  USE_SOUP2                                       OFF
--  USE_WOFF2 ..................................... ON
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dmytro/Desktop/WebKit
Comment 5 Dmytro Sotnikov 2022-05-17 06:26:46 PDT
(In reply to Michael Catanzaro from comment #2)
> (In reply to Dmytro Sotnikov from comment #0)
> > 7. After that, I used the `ninja` command and an error occurred.
> 
> Oh sorry, I see you failed to build WebKit altogether. Please, post the
> actual error message here, don't just post a screenshot. Make sure to
> install the dev package for gobject-introspection. This is probably actually
> a WebKit bug, because we should check for this initially when running cmake
> and fail the build with a nice error message if missing, and not fail later
> with this confusing message when running ninja.

dmytro@dmytro-VirtualBox:~/Desktop/WebKit$ ninja
[0/2] Re-checking globbed directories...
[13/21] Generating WPEJavaScriptCore-1.1.gir
FAILED: WPEJavaScriptCore-1.1.gir /home/dmytro/Desktop/WebKit/WPEJavaScriptCore-1.1.gir 
cd /home/dmytro/Desktop/WebKit && /usr/bin/cmake -E env CC=/usr/bin/cc /usr/bin/g-ir-scanner --quiet --warn-all --warn-error --no-libtool --output=/home/dmytro/Desktop/WebKit/WPEJavaScriptCore-1.1.gir --library=WPEWebKit-1.1 --library-path=/home/dmytro/Desktop/WebKit/lib --namespace=WPEJavaScriptCore --nsversion=1.1 --c-include=jsc/jsc.h --identifier-prefix=JSC --symbol-prefix=jsc --pkg-export=wpe-javascriptcore-1.1 -DBUILDING_WebKit -DBUILDING_WITH_CMAKE=1 -DHAVE_CONFIG_H=1 -DPAS_BMALLOC=1 -DBUILDING_WPE__=1 -DGETTEXT_PACKAGE=\"WPE\" -DJSC_GLIB_API_ENABLED -DBWRAP_EXECUTABLE=\"/usr/bin/bwrap\" -DDBUS_PROXY_EXECUTABLE=\"/usr/bin/xdg-dbus-proxy\" -DWEBKIT2_COMPILATION -DLIBDIR=\"/usr/local/lib\" -DPKGLIBDIR=\"/usr/local/lib/wpe-webkit-1.1\" -DPKGLIBEXECDIR=\"/usr/local/libexec/wpe-webkit-1.1\" -DDATADIR=\"/usr/local/share\" -DLOCALEDIR=\"/usr/local/share/locale\" -DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF -DSTATICALLY_LINKED_WITH_bmalloc -DSTATICALLY_LINKED_WITH_PAL -DSTATICALLY_LINKED_WITH_WebCore -I/home/dmytro/Desktop/WebKit/PAL/Headers -I/home/dmytro/Desktop/WebKit/WebCore/PrivateHeaders -I/home/dmytro/Desktop/WebKit/DerivedSources/ForwardingHeaders -I/home/dmytro/Desktop/WebKit/DerivedSources/WebKit -I/home/dmytro/Desktop/WebKit/DerivedSources/WebKit/include -I/home/dmytro/Desktop/WebKit/Source/WebKit -I/home/dmytro/Desktop/WebKit/Source/WebKit/GPUProcess -I/home/dmytro/Desktop/WebKit/Source/WebKit/GPUProcess/graphics -I/home/dmytro/Desktop/WebKit/Source/WebKit/GPUProcess/graphics/WebGPU -I/home/dmytro/Desktop/WebKit/Source/WebKit/GPUProcess/media -I/home/dmytro/Desktop/WebKit/Source/WebKit/GPUProcess/webrtc -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/Classifier -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/Cookies -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/CustomProtocols -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/Downloads -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/FileAPI -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/IndexedDB -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/Notifications -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/PrivateClickMeasurement -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/ServiceWorker -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/SharedWorker -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/WebStorage -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/cache -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/storage -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/watchos -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/webrtc -I/home/dmytro/Desktop/WebKit/Source/WebKit/Platform -I/home/dmytro/Desktop/WebKit/Source/WebKit/Platform/IPC -I/home/dmytro/Desktop/WebKit/Source/WebKit/PluginProcess -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/API -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/API/c -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/ApplePay -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Authentication -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/CoreIPCSupport -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Databases -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Databases/IndexedDB -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/FileAPI -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Gamepad -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Notifications -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Plugins -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Plugins/Netscape -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/Plugins/Netscape/x11 -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/RemoteLayerTree -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/WebGPU -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/WebsiteData -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/XR -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/C -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/cpp -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Authentication -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Automation -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Downloads -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Gamepad -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/GPU -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Inspector -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Inspector/Agents -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Launcher -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Media -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Network -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Network/CustomProtocols -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Notifications -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Plugins -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/RemoteLayerTree -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/UserContent -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/WebAuthentication -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/WebAuthentication/Mock -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/WebsiteData -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/XR -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebAuthnProcess -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/ApplePay -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/ApplicationCache -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Automation -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Cache -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Databases -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Databases/IndexedDB -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/EncryptedMedia -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/FileAPI -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/FullScreen -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Gamepad -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Geolocation -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/GPU -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/GPU/graphics -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/GPU/graphics/WebGPU -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/GPU/media -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/GPU/webrtc -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/IconDatabase -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/API -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/API/c -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/DOM -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Inspector -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Launching -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/MediaCache -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/MediaStream -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Model -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Network -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Network/webrtc -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Notifications -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/OriginData -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Plugins -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Plugins/Netscape -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/ResourceCache -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Speech -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/Storage -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/UserContent -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebCoreSupport -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebPage -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebPage/RemoteLayerTree -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebStorage -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/XR -I/home/dmytro/Desktop/WebKit/Source -I/home/dmytro/Desktop/WebKit/WebKitLibraries -I/home/dmytro/Desktop/WebKit/DerivedSources/WebKit/wpe -I/home/dmytro/Desktop/WebKit/DerivedSources/ForwardingHeaders/wpe -I/home/dmytro/Desktop/WebKit/DerivedSources/ForwardingHeaders/wpe-dom -I/home/dmytro/Desktop/WebKit/DerivedSources/ForwardingHeaders/wpe-webextension -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/NetworkProcess/soup -I/home/dmytro/Desktop/WebKit/Source/WebKit/Platform/IPC/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/Platform/IPC/unix -I/home/dmytro/Desktop/WebKit/Source/WebKit/Platform/classifier -I/home/dmytro/Desktop/WebKit/Source/WebKit/Platform/generic -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/API/c/wpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/API/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/CoordinatedGraphics -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/libwpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/Shared/soup -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/C/cairo -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/C/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/C/wpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/API/wpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/CoordinatedGraphics -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/Inspector/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/geoclue -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/gstreamer -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/linux -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/soup -I/home/dmytro/Desktop/WebKit/Source/WebKit/UIProcess/wpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/API/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/API/glib/DOM -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/API/wpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/InjectedBundle/API/wpe/DOM -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebCoreSupport/soup -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebPage/libwpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/WebPage/wpe -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/glib -I/home/dmytro/Desktop/WebKit/Source/WebKit/WebProcess/soup -I/usr/include/cairo -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/harfbuzz -I/usr/include/wpe-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include --include=GObject-2.0 --pkg=gobject-2.0 -I/home/dmytro/Desktop/WebKit/DerivedSources/ForwardingHeaders -I/home/dmytro/Desktop/WebKit/DerivedSources/ForwardingHeaders -DJSC_COMPILATION -I/home/dmytro/Desktop/WebKit/JavaScriptCoreGLib/Headers -I/home/dmytro/Desktop/WebKit/JavaScriptCoreGLib/DerivedSources /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCAutocleanups.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCClass.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCContext.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCDefines.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCException.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCOptions.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCValue.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCVirtualMachine.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCWeakValue.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/jsc.h /home/dmytro/Desktop/WebKit/JavaScriptCoreGLib/DerivedSources/jsc/JSCVersion.h /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSAPIWrapperGlobalObject.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSAPIWrapperObjectGLib.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCClass.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCContext.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCException.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCOptions.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCValue.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCVersion.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCVirtualMachine.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCWeakValue.cpp /home/dmytro/Desktop/WebKit/Source/JavaScriptCore/API/glib/JSCWrapperMap.cpp
Couldn't find include 'GObject-2.0.gir' (search path: '['/usr/share', '/usr/share/ubuntu/gir-1.0', '/usr/local/share/gir-1.0', '/usr/share/gir-1.0', '/var/lib/snapd/desktop/gir-1.0', '/usr/share/gir-1.0', '/usr/share/gir-1.0']')
ninja: build stopped: subcommand failed.
dmytro@dmytro-VirtualBox:~/Desktop/WebKit$
Comment 6 Adrian Perez 2023-03-15 03:04:09 PDT
The --include=Foo-X.Y flags will try to search for the file Foo-X.Y.gir
in the default search path, typically /usr/share/gir-1.0 -- there should
be Ubuntu packages which provide the needed files. For example in Arch
Linux one can see that the .gir files are provided either by their own
package, or gobject-introspection for the base .gir files:

  % pacman -Qo /usr/share/gir-1.0/GObject-2.0.gir      
/usr/share/gir-1.0/GObject-2.0.gir is owned by gobject-introspection 1.76.0-1
  % pacman -Qo /usr/share/gir-1.0/Gtk-3.0.gir  
/usr/share/gir-1.0/Gtk-3.0.gir is owned by gtk3 1:3.24.37-1

Checking the contents of the gobject-introspection package, it does not
include any .gir files, see:

  https://packages.ubuntu.com/focal/amd64/gobject-introspection/filelist

Searching in package contents for files ending in .gir returns no results
which would contain the GObject-2.0.gir file:

  https://packages.ubuntu.com/search?suite=focal&arch=any&searchon=contents&keywords=.gir

I haven't checked other Ubuntu versions, but at least for 20.04LTS it looks
like there is a packaging bug there.
Comment 7 Michael Catanzaro 2023-03-15 09:47:38 PDT
I would expect it to be provided by gobject-introspection-dev or a similarly-named package. In Fedora it's provided by gobject-introspection-devel.
Comment 8 Adrian Perez 2023-03-15 12:56:05 PDT
(In reply to Michael Catanzaro from comment #7)
> I would expect it to be provided by gobject-introspection-dev or a
> similarly-named package. In Fedora it's provided by
> gobject-introspection-devel.

Found it, the package is “libgirepository1.0-dev”:

  https://packages.ubuntu.com/focal/amd64/libgirepository1.0-dev/filelist

Dmytro: Could you try installing this package? I am positive it will
fix your build issue. If it does not, please reopen the issue and let
us know.
Comment 9 Michael Catanzaro 2023-03-15 14:52:47 PDT
Still, we should be able to detect missing g-i dependencies at cmake time rather than failing later on at build time. You want to know whether something is missing upfront.