Bug#778257: src:qtdeclarative-opensource-src: FTBFS on x32: JIT, symbols
Package: src:qtdeclarative-opensource-src
Version: 5.3.2-4
Severity: normal
Tags: patch
Hi!
This package fails to build on the x32 second-class architecture. This is
bad as it has a massive amount of reverse [build-]dependencies, both direct
and transitive.
The fix needs two parts:
* applying the attached patch: fixing misdetection of x32 as i386/amd64
(a proper port of the JIT would be of course better, but take a good deal
more work)
* updating the symbols file. s/!sparc64/!sparc64 !x32/ worked for me, as
symbols you skip on every architecture need to be skipped on x32 too
(how surprising...)
Meow!
-- System Information:
Debian Release: 8.0
APT prefers unstable
APT policy: (600, 'unstable'), (500, 'unreleased'), (50, 'experimental')
Architecture: x32 (x86_64)
Kernel: Linux 3.19.0-x32 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
--- qtdeclarative-opensource-src-5.3.2.orig/src/qml/jsruntime/qv4global_p.h
+++ qtdeclarative-opensource-src-5.3.2/src/qml/jsruntime/qv4global_p.h
@@ -75,9 +75,9 @@ inline double trunc(double d) { return d
// White list architectures
-#if defined(Q_PROCESSOR_X86)
+#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__)
#define V4_ENABLE_JIT
-#elif defined(Q_PROCESSOR_X86_64)
+#elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__)
#define V4_ENABLE_JIT
#elif defined(Q_PROCESSOR_ARM_32)
Reply to: