Summary: | [GTK] [2.22.0] Fails to build in armel | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alberto Garcia <berto> | ||||||
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | bugs-noreply, dominik.infuehr, guijemont, mcatanzaro | ||||||
Priority: | P2 | ||||||||
Version: | Other | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Attachments: |
|
Description
Alberto Garcia
2018-08-22 13:53:25 PDT
Still happening with 2.22.0 Building with -DENABLE_JIT=OFF works around that problem, but the build ultimately fails when generating the documentation: gtkdoc-fixxref --module=webkit2gtk-4.0 --module-dir=html/webkit2gtk-4.0 --extra-dir=/usr/share/gtk-doc/html/libsoup-2.4 --extra-dir=/usr/share/gtk-doc/html/gtk3 --extra-dir=/usr/share/gtk-doc/html/gdk3 --extra-dir=/usr/share/gtk-doc/html/gdk-pixbuf --extra-dir=/usr/share/gtk-doc/html/glib --extra-dir=/usr/share/gtk-doc/html/gobject --extra-dir=/usr/share/gtk-doc/html/gio --extra-dir=/home/user/webkit2gtk-2.22.0/obj-arm-linux-gnueabi/Documentation/webkitdomgtk-4.0/html --extra-dir=/home/user/webkit2gtk-2.22.0/obj-arm-linux-gnueabi/Documentation/jsc-glib-4.0/html Traceback (most recent call last): File "/usr/bin/gtkdoc-fixxref", line 57, in <module> fixxref.Run(options) File "/usr/share/gtk-doc/python/gtkdoc/fixxref.py", line 64, in Run FixCrossReferences(options.module_dir, options.module, options.src_lang) File "/usr/share/gtk-doc/python/gtkdoc/fixxref.py", line 224, in FixCrossReferences FixHTMLFile(src_lang, module, full_entry) File "/usr/share/gtk-doc/python/gtkdoc/fixxref.py", line 247, in FixHTMLFile repl_func, content, flags=re.DOTALL) File "/usr/lib/python2.7/re.py", line 155, in sub return _compile(pattern, flags).sub(repl, string, count) File "/usr/share/gtk-doc/python/gtkdoc/fixxref.py", line 244, in repl_func return HighlightSource(src_lang, m.group(1), m.group(2)) File "/usr/share/gtk-doc/python/gtkdoc/fixxref.py", line 354, in HighlightSource [config.highlight] + shlex.split(highlight_options) + [temp_source_file]).decode('utf-8') File "/usr/lib/python2.7/subprocess.py", line 223, in check_output raise CalledProcessError(retcode, cmd, output=output) subprocess.CalledProcessError: Command '['/usr/bin/highlight', '--syntax=c', '--out-format=xhtml', '-f', '--class-name=gtkdoc', '/tmp/tmpjRU4NW.c']' returned non-zero exit status -4 But this is almost certainly not a webkit bug. I tried this again with WebKitGTK+ 2.23.1 I think this fails because OFFLINE_ASM_BACKEND is unset in Source/JavaScriptCore/CMakeLists.txt There's no ARMv7 (because the Debian armel port targets older CPUs) and there's no CLoop because it's disabled by default on ARM. I can fix this by passing ENABLE_C_LOOP=ON manually, but should the build system detect this scenario instead? Per https://lists.webkit.org/pipermail/webkit-dev/2018-October/030220.html cloop should be enabled. This architecture check in WebKitFeatures.cmake is insufficient: if (WTF_CPU_ARM64 OR WTF_CPU_X86_64) set(ENABLE_JIT_DEFAULT ON) set(ENABLE_FTL_DEFAULT ON) set(USE_SYSTEM_MALLOC_DEFAULT OFF) set(ENABLE_C_LOOP_DEFAULT OFF) set(ENABLE_SAMPLING_PROFILER_DEFAULT ON) elseif (WTF_CPU_ARM AND WTF_OS_LINUX) set(ENABLE_JIT_DEFAULT ON) set(ENABLE_FTL_DEFAULT OFF) set(USE_SYSTEM_MALLOC_DEFAULT OFF) set(ENABLE_C_LOOP_DEFAULT OFF) set(ENABLE_SAMPLING_PROFILER_DEFAULT ON) else () set(ENABLE_JIT_DEFAULT OFF) set(ENABLE_FTL_DEFAULT OFF) set(USE_SYSTEM_MALLOC_DEFAULT ON) set(ENABLE_C_LOOP_DEFAULT ON) set(ENABLE_SAMPLING_PROFILER_DEFAULT OFF) endif () The WTF_CPU_ARM branch enables the JIT stuff, but this is no longer supported on your WTF_CPU_ARM board. So that branch is incorrect. More logic is needed to distinguish between ARMv7 + thumb and older ARM. Should look something like: elseif (WTF_CPU_ARM AND has thumb2 AND armv7 AND WTF_OS_LINUX) Yeah, something like that. I can give it a try and try to come up with a patch. Created attachment 355607 [details]
Patch
Created attachment 355608 [details]
Patch
This seems to be enough
Committed r238489: <https://trac.webkit.org/changeset/238489> |