Won't build against latest libxml2
/build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLTProcessorLibxslt.cpp:142:34: error: invalid conversion from 'void (*)(void*, xmlError*)' {aka 'void (*)(void*, _xmlError*)'} to 'xmlStructuredErrorFunc' {aka 'void (*)(void*, co⮎ nst _xmlError*)'} [-fpermissive]
142 | xmlSetStructuredErrorFunc(console, XSLTProcessor::parseErrorFunc);
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| void (*)(void*, xmlError*) {aka void (*)(void*, _xmlError*)}
In file included from /usr/include/libxml2/libxml/valid.h:15,
from /usr/include/libxml2/libxml/parser.h:19,
from /build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLStyleSheet.h:31,
from /build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLTProcessor.h:29,
from /build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLTProcessorLibxslt.cpp:27:
/usr/include/libxml2/libxml/xmlerror.h:898:57: note: initializing argument 2 of 'void xmlSetStructuredErrorFunc(void*, xmlStructuredErrorFunc)'
898 | xmlStructuredErrorFunc handler);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
Pinned Comments
frealgagu commented on 2019-04-14 18:31 (UTC) (edited on 2020-12-06 03:30 (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.webkitgtk2/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).