Bug#700795: webkit: FTBFS on x32: Tries and fails to build x86_64 JIT compiler

Daniel Schepler dschepler at gmail.com
Sun Feb 17 15:52:42 UTC 2013


Source: webkit
Version: 1.8.1-3.3
Severity: wishlist
Tags: patch
User: debian-x32 at lists.debian.org
Usertags: port-x32 ftbfs-x32

The webkit source package is getting this build failure on the
unofficial Debian x32 port:

<URL:http://buildd.debian-ports.org/status/fetch.php?pkg=webkit&arch=x32&ver=1.8.1-3.3&stamp=1360860558>:
...
./doltlibtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..
 -DBUILDING_WEBKIT -DPACKAGE_LOCALE_DIR=\"/usr/share/locale\"
-DDATA_DIR=\"/usr/share\" -I../Source/WebCore/bindings
-I../Source/WebCore/bindings/gobject -I../Source/WebKit/gtk
-I../Source/WebKit/gtk/WebCoreSupport -I../Source/WebKit/gtk/webkit
-I./DerivedSources/webkit -ISource/WebKit/gtk/webkit -Wall -W
-Wcast-align -Wchar-subscripts -Wreturn-type -Wformat
-Wformat-security -Wno-format-y2k -Wundef -Wmissing-format-attribute
-Wpointer-arith -Wwrite-strings -Wno-unused-parameter -Wno-parentheses
-fno-exceptions -DENABLE_GLIB_SUPPORT=1 -DBUILDING_CAIRO__=1
-DBUILDING_GTK__=1 -DWTF_CHANGES -DXP_UNIX  -DWTF_USE_ICU_UNICODE=1
-DWTF_USE_GSTREAMER=1     -DGTK_API_VERSION_2=1 -DNDEBUG
-I../Source/ThirdParty/ANGLE/src -I../Source/ThirdParty/ANGLE/include
-I../Source/ThirdParty/ANGLE/include/GLSLANG -I../Source/WebCore
-I../Source/WebCore/accessibility -I../Source/WebCore/bindings
-I../Source/WebCore/bindings/generic -I../Source/WebCore/bindings/js
-I../Source/WebCore/bindings/js/specialization
-I../Source/WebCore/bridge -I../Source/WebCore/bridge/c
-I../Source/WebCore/bridge/jni/jsc -I../Source/WebCore/bridge/jsc
-I../Source/WebCore/css -I../Source/WebCore/dom
-I../Source/WebCore/dom/default -I../Source/WebCore/editing
-I../Source/WebCore/fileapi -I../Source/WebCore/history
-I../Source/WebCore/html -I../Source/WebCore/html/canvas
-I../Source/WebCore/html/parser -I../Source/WebCore/html/shadow
-I../Source/WebCore/html/track -I../Source/WebCore/inspector
-I../Source/WebCore/loader -I../Source/WebCore/loader/appcache
-I../Source/WebCore/loader/archive -I../Source/WebCore/loader/cache
-I../Source/WebCore/loader/icon -I../Source/WebCore/mathml
-I../Source/WebCore/mediastream -I../Source/WebCore/notifications
-I../Source/WebCore/page -I../Source/WebCore/page/animation
-I../Source/WebCore/page/scrolling -I../Source/WebCore/platform
-I../Source/WebCore/platform/animation
-I../Source/WebCore/platform/audio
-I../Source/WebCore/platform/graphics
-I../Source/WebCore/platform/graphics/filters
-I../Source/WebCore/platform/graphics/filters/arm
-I../Source/WebCore/platform/graphics/gpu
-I../Source/WebCore/platform/graphics/opengl
-I../Source/WebCore/platform/graphics/opentype
-I../Source/WebCore/platform/graphics/transforms
-I../Source/WebCore/platform/image-decoders
-I../Source/WebCore/platform/image-decoders/bmp
-I../Source/WebCore/platform/image-decoders/gif
-I../Source/WebCore/platform/image-decoders/ico
-I../Source/WebCore/platform/image-decoders/jpeg
-I../Source/WebCore/platform/image-decoders/webp
-I../Source/WebCore/platform/image-decoders/png
-I../Source/WebCore/platform/leveldb
-I../Source/WebCore/platform/mediastream
-I../Source/WebCore/platform/mock -I../Source/WebCore/platform/network
-I../Source/WebCore/platform/sql -I../Source/WebCore/platform/text
-I../Source/WebCore/platform/text/transcoder
-I../Source/WebCore/platform/win -I../Source/WebCore/plugins
-I../Source/WebCore/plugins/win -I../Source/WebCore/rendering
-I../Source/WebCore/rendering/mathml
-I../Source/WebCore/rendering/style -I../Source/WebCore/rendering/svg
-I../Source/WebCore/storage -I../Source/WebCore/svg
-I../Source/WebCore/svg/animation -I../Source/WebCore/svg/graphics
-I../Source/WebCore/svg/graphics/filters
-I../Source/WebCore/svg/properties -I../Source/WebCore/testing
-I../Source/WebCore/testing/js -I../Source/WebCore/webaudio
-I../Source/WebCore/websockets -I../Source/WebCore/workers
-I../Source/WebCore/xml -I../Source/WebCore/xml/parser
-I./WebCore/bindings/js -I./DerivedSources/WebCore -I./DerivedSources
-I./DerivedSources/JavaScriptCore -DDATA_DIR=\"/usr/share\"
-DENABLE_CHANNEL_MESSAGING=1   -DENABLE_METER_TAG=1
-DENABLE_PROGRESS_TAG=1 -DENABLE_JAVASCRIPT_DEBUGGER=1
-DENABLE_GAMEPAD=0 -DENABLE_SQL_DATABASE=1  -DENABLE_DATALIST=1
-DENABLE_DIRECTORY_UPLOAD=0     -DENABLE_TOUCH_ICON_LOADING=0
-DENABLE_INPUT_COLOR=0  -DENABLE_INPUT_SPEECH=0
-DENABLE_ICONDATABASE=1   -DENABLE_VIDEO=1   -DENABLE_MEDIA_SOURCE=0
-DENABLE_MEDIA_STATISTICS=0 -DENABLE_FULLSCREEN_API=1
-DENABLE_VIDEO_TRACK=0  -DENABLE_MEDIA_STREAM=0 -DENABLE_XSLT=1
-DENABLE_WORKERS=1 -DENABLE_SHADOW_DOM=1 -DENABLE_SHARED_WORKERS=1
-DENABLE_FILTERS=1 -DENABLE_GEOLOCATION=1
-DENABLE_CLIENT_BASED_GEOLOCATION=1 -DENABLE_MATHML=1  -DENABLE_SVG=1
-DENABLE_SVG_FONTS=1   -DENABLE_WEB_SOCKETS=1  -DENABLE_BLOB=1
-DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_WEBGL=1
-DWEBKITGTK_API_VERSION_STRING=\"1.0\" -DWTF_USE_SOUP=1
-I../Source/WebCore/accessibility/gtk -I../Source/WebCore/loader/gtk
-I../Source/WebCore/page/gtk -I../Source/WebCore/platform/cairo
-I../Source/WebCore/platform/audio/gstreamer
-I../Source/WebCore/platform/graphics/cairo
-I../Source/WebCore/platform/graphics/glx
-I../Source/WebCore/platform/graphics/gstreamer
-I../Source/WebCore/platform/graphics/gtk
-I../Source/WebCore/platform/gtk
-I../Source/WebCore/platform/network/soup -DWTF_USE_FREETYPE=1
-I../Source/WebCore/platform/graphics/freetype   -I../Source
-I../Source/JavaScriptCore -I../Source/JavaScriptCore/API
-I../Source/JavaScriptCore/assembler
-I../Source/JavaScriptCore/bytecode
-I../Source/JavaScriptCore/bytecompiler -I../Source/JavaScriptCore/dfg
-I../Source/JavaScriptCore/heap -I../Source/JavaScriptCore/debugger
-I../Source/JavaScriptCore/ForwardingHeaders
-I../Source/JavaScriptCore/interpreter -I../Source/JavaScriptCore/jit
-I../Source/JavaScriptCore/jit -I../Source/JavaScriptCore/parser
-I../Source/JavaScriptCore/profiler -I../Source/JavaScriptCore/runtime
-I../Source/JavaScriptCore/tools -I../Source/JavaScriptCore/wtf
-I../Source/JavaScriptCore/wtf -I../Source/JavaScriptCore/wtf/gobject
-I../Source/JavaScriptCore/wtf/gtk -I../Source/JavaScriptCore/wtf/text
-I../Source/JavaScriptCore/wtf/unicode -I../Source/JavaScriptCore/yarr
-I./DerivedSources/JavaScriptCore -I../Source/WTF
-DENABLE_SPELLCHECK=1 -fno-strict-aliasing     -pthread
-I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include -I/usr/include/enchant
  -pthread -I/usr/include/gail-1.0 -I/usr/include/atk-1.0
-I/usr/include/gtk-2.0 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include
-I/usr/lib/x86_64-linux-gnux32/gtk-2.0/include -I/usr/include/cairo
-I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0
-I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12
-I/usr/include/dbus-1.0 -I/usr/include/libxml2
-I/usr/lib/x86_64-linux-gnux32/dbus-1.0/include
-I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include   -pthread
-I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include   -pthread
-I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include -I/usr/include/libxml2
  -pthread -I/usr/include/gtk-2.0
-I/usr/lib/x86_64-linux-gnux32/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0
-I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/
-I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng12    -pthread -I/usr/include/libsoup-2.4
-I/usr/include/libxml2 -I/usr/include/glib-2.0
-I/usr/lib/x86_64-linux-gnux32/glib-2.0/include
-I/usr/include/libxml2   -I/usr/include/libxml2    -D_FORTIFY_SOURCE=2
-D_REENTRANT  -I/usr/include    -D_FORTIFY_SOURCE=2
-fvisibility-inlines-hidden -fno-rtti -g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall
-Wl,--as-needed -Wno-c++0x-compat -O2 -MT
Source/WebCore/bindings/gobject/libwebkitgtk_1_0_la-DOMObjectCache.lo
-MD -MP -MF Source/WebCore/bindings/gobject/.deps/libwebkitgtk_1_0_la-DOMObjectCache.Tpo
-c -o Source/WebCore/bindings/gobject/libwebkitgtk_1_0_la-DOMObjectCache.lo
`test -f 'Source/WebCore/bindings/gobject/DOMObjectCache.cpp' || echo
'../'`Source/WebCore/bindings/gobject/DOMObjectCache.cpp
In file included from ../Source/JavaScriptCore/runtime/JSGlobalObject.h:28:0,
                 from ../Source/WebCore/bindings/js/JSDOMGlobalObject.h:30,
                 from ../Source/WebCore/bindings/js/JSDOMWrapper.h:25,
                 from ../Source/WebCore/bindings/js/ScriptWrappable.h:34,
                 from ../Source/WebCore/dom/Node.h:33,
                 from ../Source/WebCore/dom/ContainerNode.h:28,
                 from ../Source/WebCore/dom/Document.h:34,
                 from ../Source/WebCore/bindings/gobject/DOMObjectCache.cpp:22:
../Source/JavaScriptCore/runtime/JSVariableObject.h: In member
function 'void JSC::JSVariableObject::finishCreation(JSC::JSGlobalData&)':
../Source/JavaScriptCore/runtime/JSVariableObject.h:84:13: error: size
of array 'dummyRegister_should_be_same_size_as_WriteBarrier' is
negative
In file included from ../Source/JavaScriptCore/wtf/FastAllocBase.h:93:0,
                 from ../Source/JavaScriptCore/wtf/RefPtr.h:27,
                 from ../Source/JavaScriptCore/wtf/HashFunctions.h:24,
                 from ../Source/JavaScriptCore/wtf/HashTraits.h:24,
                 from ../Source/JavaScriptCore/wtf/HashTable.h:28,
                 from ../Source/JavaScriptCore/wtf/HashMap.h:24,
                 from ../Source/WebCore/dom/CheckedRadioButtons.h:25,
                 from ../Source/WebCore/dom/Document.h:31,
                 from ../Source/WebCore/bindings/gobject/DOMObjectCache.cpp:22:
../Source/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO
WTF::bitwise_cast(FROM) [with TO = int; FROM = double]':
../Source/JavaScriptCore/runtime/JSValueInlineMethods.h:461:44:
required from here
../Source/JavaScriptCore/wtf/StdLibExtras.h:123:1: error: size of
array is negative
../Source/JavaScriptCore/wtf/StdLibExtras.h: In instantiation of 'TO
WTF::bitwise_cast(FROM) [with TO = double; FROM = int]':
../Source/JavaScriptCore/runtime/JSValueInlineMethods.h:465:42:
required from here
../Source/JavaScriptCore/wtf/StdLibExtras.h:123:1: error: size of
array is negative
make[1]: *** [Source/WebCore/bindings/gobject/libwebkitgtk_1_0_la-DOMObjectCache.lo]
Error 1
make[1]: Leaving directory
`/build/buildd-webkit_1.8.1-3.3-x32-bp6dDV/webkit-1.8.1/build-2.0'
make: *** [build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build-arch gave error exit status 2

The attached debdiff fixes this by telling the sources that the 64-bit
x86_64 JIT compiler won't work on x32 (defined(__x86_64__) &&
defined(__ILP32__)).

(In #700093 which is the same bug for qtwebkit, it was pointed out to
me that somebody is working on porting the JIT compiler so it will
also work on x32.  So hopefully that will eventually get working, and
then this workaround to disable JIT compilation won't be needed
anymore.)
-- 
Daniel Schepler



More information about the Pkg-webkit-maintainers mailing list