[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1125347: webkit2gtk: Please build with GCC options to avoid OOM issues on 32-bit targets



Source: webkit2gtk
Version: 2.50.4-1
Severity: normal
User: debian-powerpc@lists.debian.org
Usertags: m68k hppa powerpc sh4
X-Debbugs-Cc: debian-68k@lists.debian.org,debian-hppa@lists.debian.org,debian-powerpc@lists.debian.org,debian-superh@lists.debian.org

Hi,

on hppa, powerpc and sh4, the build fails due to GCC running out of memory [1]:

FAILED: [code=1] Source/WebCore/CMakeFiles/WebCore.dir/__/__/WebCore/DerivedSources/unified-sources/UnifiedSource-3a52ce78-40.cpp.o 
/usr/bin/c++ -DBUILDING_GTK__=1 -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore (...)
-c /build/reproducible-path/webkit2gtk-2.50.4/build-soup3/WebCore/DerivedSources/unified-sources/UnifiedSource-3a52ce78-40.cpp
virtual memory exhausted: Cannot allocate memory

After reading through the ReduceBuildMemoryOverhead article [2] on the Debian wiki,
I discovered the option "-no-integrated-cpp" which helps work around the OOM issue
above. Together with the "--param ggc-min-expand=10" option, the build suceeds:

dpkg-deb: building package 'libjavascriptcoregtk-4.1-0' in '../libjavascriptcoregtk-4.1-0_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-6.0-1' in '../libjavascriptcoregtk-6.0-1_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-6.0-dev' in '../libjavascriptcoregtk-6.0-dev_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-bin' in '../libjavascriptcoregtk-bin_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libwebkit2gtk-4.1-0' in '../libwebkit2gtk-4.1-0_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libwebkit2gtk-4.1-dev' in '../libwebkit2gtk-4.1-dev_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libwebkitgtk-6.0-4' in '../libwebkitgtk-6.0-4_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'webkitgtk-webdriver' in '../webkitgtk-webdriver_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-4.1-dev' in '../libjavascriptcoregtk-4.1-dev_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libwebkitgtk-6.0-dev' in '../libwebkitgtk-6.0-dev_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'gir1.2-javascriptcoregtk-6.0' in '../gir1.2-javascriptcoregtk-6.0_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-bin-dbgsym' in '../libjavascriptcoregtk-bin-dbgsym_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'gir1.2-javascriptcoregtk-4.1' in '../gir1.2-javascriptcoregtk-4.1_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'webkitgtk-webdriver-dbgsym' in '../webkitgtk-webdriver-dbgsym_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'gir1.2-webkit-6.0' in '../gir1.2-webkit-6.0_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'gir1.2-webkit2-4.1' in '../gir1.2-webkit2-4.1_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-4.1-0-dbgsym' in '../libjavascriptcoregtk-4.1-0-dbgsym_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libjavascriptcoregtk-6.0-1-dbgsym' in '../libjavascriptcoregtk-6.0-1-dbgsym_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libwebkitgtk-6.0-4-dbgsym' in '../libwebkitgtk-6.0-4-dbgsym_2.50.4-1_powerpc.deb'.
dpkg-deb: building package 'libwebkit2gtk-4.1-0-dbgsym' in '../libwebkit2gtk-4.1-0-dbgsym_2.50.4-1_powerpc.deb'.
 dpkg-genbuildinfo --build=any -O../webkit2gtk_2.50.4-1_powerpc.buildinfo
 dpkg-genchanges --build=any -O../webkit2gtk_2.50.4-1_powerpc.changes
dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
 signfile webkit2gtk_2.50.4-1_powerpc.buildinfo

I used the following change:

--- debian/rules.orig   2026-01-12 11:12:42.015974924 -0800
+++ debian/rules        2026-01-11 03:06:49.033519846 -0800
@@ -63,6 +63,7 @@
 # Sacrifice speed in order to make it more likely resource limits
 # won't be hit.
 ifeq ($(DEB_BUILD_ARCH_BITS),32)
+       CPPFLAGS += -no-integrated-cpp --param ggc-min-expand=10
        LDFLAGS += -Wl,--no-keep-memory
 endif
 
But since armhf and i386 don't run out of memory, I suggest to use the workaorund on
hppa, m68k, powerpc and sh4. For sh4, an additional patch is required to disable the
musttail attribute.

Thanks,
Adrian

> [1] https://buildd.debian.org/status/fetch.php?pkg=webkit2gtk&arch=powerpc&ver=2.50.4-1&stamp=1768070233&raw=0
> [2] https://wiki.debian.org/ReduceBuildMemoryOverhead

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


Reply to: