RESOLVED FIXED 260496
[Tools][GTK][WPE] generate-bundle: include the graphics libraries also on the sysdeps bundle with install script
https://bugs.webkit.org/show_bug.cgi?id=260496
Summary [Tools][GTK][WPE] generate-bundle: include the graphics libraries also on the...
Carlos Alberto Lopez Perez
Reported 2023-08-21 16:53:25 PDT
generate-bundle script supports generating two types of bundles 1) one that bundles everything (syslibs=all) 2) one that includes a install script and only bundles strictly what is needed (syslibs=install-script) The first one can run in theory on any distro and the second one only can run on the very specific distro where the bundle was created (for example: Ubuntu-20.04) On the first type of bundle we are including all graphics libraries but on the second one we are missing to list the packages providing this libraries. We simply list a specific graphic library if that library links with WebKit, but otherwise we don't add extra graphics libraries That was working fine so far, but since 265017@main the GTK MiniBrowser depends on libepoxy and libepoxy uses dlopen() to open one OpenGL library or other. Also the Ubuntu package of libepoxy doesn't depend on anything. So the GTK MiniBrowser now has an indirect dependency on LibGLESv2 caused by libepoxy but this dependency can't be obtained by examining the libraries linked. This caused that the WPT tests started to fail on the WPT CI with errors like: 2:23.51 pid:1875 Full command: /home/test/web-platform-tests/_venv3/browsers/nightly/webkitgtk_minibrowser/WebKitWebDriver --port=44323 --host=127.0.0.1 pid:1875 Couldn't open libGLESv2.so.2: libGLESv2.so.2: cannot open shared object file: No such file or directory https://community-tc.services.mozilla.com/tasks/a-PzAVJoS9CEJglQjA5Yjw/runs/0 To fix this I propose that we list the same graphics libraries that we use for bundle type 1) on bundle type 2) so we ensure those are installed via apt-get Related: https://github.com/web-platform-tests/wpt/issues/40901
Attachments
debian 11 vs 12 (88.20 KB, image/png)
2023-08-25 13:55 PDT, Max Schmitt
no flags
Carlos Alberto Lopez Perez
Comment 1 2023-08-21 17:09:21 PDT
EWS
Comment 2 2023-08-23 08:00:44 PDT
Committed 267186@main (2e99fa3f861b): <https://commits.webkit.org/267186@main> Reviewed commits have been landed. Closing PR #16908 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2023-08-23 08:01:14 PDT
Max Schmitt
Comment 4 2023-08-25 13:55:04 PDT
Created attachment 467440 [details] debian 11 vs 12 looks like https://github.com/WebKit/WebKit/commit/2e99fa3f861b9ab48569aa970498ab63b5db8ba9 broke Debian 12 builds. We are now executing "self._get_mesa_dri_drivers()" in != self._syslibs == "bundle-all" mode. This internally will do "pkg-config --variable=libdir dri" which on Debian 12 returns nothing, since mesa-common-dev has no libdir in the dri.pc anymore. See the pic. We then get this on our build bots: Traceback (most recent call last): File "/home/pwuser/webkit/Tools/Scripts/generate-bundle", line 916, in <module> sys.exit(main()) ^^^^^^ File "/home/pwuser/webkit/Tools/Scripts/generate-bundle", line 911, in main bundle_file_path = bundle_creator.create() ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pwuser/webkit/Tools/Scripts/generate-bundle", line 337, in create self._create_bundle(bundle_binary) File "/home/pwuser/webkit/Tools/Scripts/generate-bundle", line 686, in _create_bundle objects_to_copy.extend(self._get_mesa_libraries()) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pwuser/webkit/Tools/Scripts/generate-bundle", line 487, in _get_mesa_libraries lib_dir_dri = self._get_pkg_config_var('dri', 'libdir') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pwuser/webkit/Tools/Scripts/generate-bundle", line 415, in _get_pkg_config_var raise RuntimeError('The pkg-config entry for %s is not a directory: %s' % (var_name, var_value)) RuntimeError: The pkg-config entry for libdir is not a directory:
Carlos Alberto Lopez Perez
Comment 5 2023-08-25 14:02:35 PDT
Please try install the package mesa-common-dev via 'apt-get install'
Carlos Alberto Lopez Perez
Comment 6 2023-08-25 14:06:58 PDT
(In reply to Carlos Alberto Lopez Perez from comment #5) > Please try install the package mesa-common-dev via 'apt-get install' Ups sorry, forget that comment. I see you already have it installed but is defining the libdir variable I see the issue, thanks for reporting it.
Diego Pino
Comment 7 2023-08-28 01:50:25 PDT
EWS
Comment 8 2023-08-29 08:15:23 PDT
Committed 267404@main (8124fd9a748e): <https://commits.webkit.org/267404@main> Reviewed commits have been landed. Closing PR #17116 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.