I'm having problems building this package. Fails through yay, makepkg, and make:
yay and makepkg -si:
autoreconf: configure.ac: not using Intltool
autoreconf: running: gtkdocize --copy
gtkdocize: GTK_DOC_CHECK not called in ./configure.ac
autoreconf: error: gtkdocize failed with exit status: 1
==> ERROR: A failure occurred in prepare().
Aborting...
make:
CDPATH="${ZSH_VERSION+.}:" && cd . && aclocal-1.15 -I Source/autotools
/bin/sh: line 1: aclocal-1.15: command not found
make: *** [GNUmakefile:25873: aclocal.m4] Error 127
I have aclocal-1.16.2 installed.
core/automake 1.16.2-3 (base-devel) [installed]
usr/bin/aclocal
Edit: OK, I have gotten it to successfully compile. I had to install the aur package: automake-1.15
Still would not build correctly with the current PKGBUILD, but running make in the src/webkitgtk-2.4.11/ did work. I had to run 'automake-1.15 --add-missing' after a failed 'make'
It did fail after a few minutes:
./Source/WebCore/bindings/js/JSDOMBinding.h:191:12: required from ‘void WebCore::cacheWrapper(WebCore::DOMWrapperWorld&, DOMClass*, WrapperClass*) [with DOMClass = JSC::ArrayBuffer; WrapperClass = JSC::JSArrayBuffer]’
./Source/WebCore/bindings/js/JSDOMBinding.h:358:53: required from here
./Source/WTF/wtf/HashTable.h:774:19: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct WTF::KeyValuePair<void*, JSC::Weak<JSC::JSObject> >’ with no trivial copy-assignment; use value-initialization instead [-Wclass-memaccess]
774 | memset(&bucket, 0, sizeof(bucket));
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./Source/WTF/wtf/HashTable.h:32,
from ./Source/WTF/wtf/HashMap.h:25,
from ./Source/JavaScriptCore/runtime/JSCJSValue.h:31,
from ./Source/JavaScriptCore/bytecode/SpeculatedType.h:32,
from ./Source/JavaScriptCore/runtime/IndexingType.h:29,
from ./Source/JavaScriptCore/bytecode/ArrayAllocationProfile.h:29,
from ./Source/JavaScriptCore/runtime/JSGlobalObject.h:25,
from ./Source/WebCore/bindings/js/JSDOMGlobalObject.h:31,
from ./Source/WebCore/bindings/js/JSDOMBinding.h:27,
from DerivedSources/WebCore/JSSVGZoomEvent.h:26,
from DerivedSources/WebCore/JSSVGZoomEvent.cpp:25:
./Source/WTF/wtf/HashTraits.h:169:8: note: ‘struct WTF::KeyValuePair<void*, JSC::Weak<JSC::JSObject> >’ declared here
169 | struct KeyValuePair {
| ^~~~~~~~~~~~
make[1]: Leaving directory '/home/jason/build/webkitgtk/src/webkitgtk-2.4.11'
make: *** [GNUmakefile:25837: all] Error 2
Trying it with 'make -j1' gives the same error:
./Source/WTF/wtf/HashTraits.h:169:8: note: ‘struct WTF::KeyValuePair<int, WTF::OwnPtr<WebCore::GlyphMetricsMap<float>::GlyphMetricsPage> >’ declared here
169 | struct KeyValuePair {
| ^~~~~~~~~~~~
make[1]: *** [GNUmakefile:51072: Source/WebCore/platform/graphics/libPlatform_la-SegmentedFontData.lo] Error 1
make[1]: Leaving directory '/home/jason/build/webkitgtk/src/webkitgtk-2.4.11'
make: *** [GNUmakefile:25837: all] Error 2
Pinned Comments
frealgagu commented on 2019-04-14 18:13 (UTC) (edited on 2020-12-06 03:31 (UTC) by frealgagu)
FAQ
Q: What's the difference between this package and extra/webkit2gtk?
A: webkitgtk/webkitgtk2 provides WebKit1 API/ABI, which is not compatible with WebKit2 API/ABI provided by extra/webkit2gtk. WebKitGTK+ 2.4.x is the latest branch that provides WebKit1 API. Later branches provides WebKit2 API only.
Please don't flag it as out-of-date.
Q: Are there binaries for this package somewhere?
A: I maintain the latest built package at https://github.com/frealgagu/archlinux.webkitgtk/releases
Q: "error while loading shared libraries: libicui18n.so.62: cannot open shared object file: No such file or directory"
A: You'll need to rebuild against the latest version of ICU.
Q: "error: ‘WTF::StringImpl::StaticASCIILiteraicASCIILiteral’ has not been declared" or any enchant errors.
A: If you are building in parallel, try disabling parallel using -j1 in /etc/makepkg.conf
Q: Why building takes too long time?
A: WebKit is inherently big and complex. You can modify /etc/makepkg.conf or PKGBUILD directly to build it in parallel.
Change "make all stamp-po" by "make -j x all stamp-po" in PKGBUILD replacing x by cores your machine has. (Thanks to @MadMe)
Change /etc/makepkg.conf in that way: https://wiki.archlinux.org/index.php/makepkg#Parallel_compilation under
# ARCHITECTURE, COMPILE FLAGS
useMAKEFLAGS="-j9"
# It should be one more than your virtual CPUs. (Thanks to @tuxsavvy).However be pending if errors occur as mentioned in previous question.
Q: How much I want to wait to a successful compilation?
A: It varies of your PC's processor and RAM, the times shared in the comments are as follow:
3.5 hours to build on core i5 laptop with 8G of RAM, makeflags j4. (@cabbage)
13.5 hours to build on AMD Athlon X2, makeflags j1 (@Bonnietwin).
5-6 hours on Core2Duo E8400 with 8GB RAM, makeflags j2 (tuxsavvy).
50 minutes on 6c/12t 3.3GHz (@kubrick).