Package: openjfx
Version: 8u102-b14-1
Severity: important
Tags: sid + patch
Justification: FTBFS
User: debian-m...@lists.debian.org
Usertags: mips-patch

Hello,

Package openjfx_8u102-b14-1 FTBFS on mips64el with following error:

> ../../../../src/main/native/Source/WTF/wtf/StdLibExtras.h:137:5: error: 
> static assertion failed: bitwise_cast size of FromType and ToType must be 
> equal!
>      static_assert(sizeof(FromType) == sizeof(ToType), "bitwise_cast size of 
> FromType and ToType must be equal!"); 

Full build log:
https://buildd.debian.org/status/fetch.php?pkg=openjfx&arch=mips64el&ver=8u102-b14-1&stamp=1470053666

Similar issue is already noticed for package webkitgtk
and resolved by adding support for mips64 architecture in Platform.h and 
utils.h.

On the following links you can read more about this problem:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=754358
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=789261

I have created and attached a patch that resolves this issue.
With this patch package builds successfully.

Regards,
Radovan
--- openjfx-8u102-b14.orig/modules/web/src/main/native/Source/WTF/wtf/Platform.h
+++ openjfx-8u102-b14/modules/web/src/main/native/Source/WTF/wtf/Platform.h
@@ -88,16 +88,19 @@
 #endif
 #endif
 
-/* CPU(MIPS) - MIPS 32-bit */
-/* Note: Only O32 ABI is tested, so we enable it for O32 ABI for now.  */
-#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)) \
-    && defined(_ABIO32)
+/* CPU(MIPS) - MIPS 32-bit and 64-bit */
+#if (defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_) || defined(__mips64))
+#if defined(_ABI64) && (_MIPS_SIM == _ABI64)
+#define WTF_CPU_MIPS64 1
+#define WTF_MIPS_ARCH __mips64
+#else
 #define WTF_CPU_MIPS 1
+#define WTF_MIPS_ARCH __mips
+#endif
 #if defined(__MIPSEB__)
 #define WTF_CPU_BIG_ENDIAN 1
 #endif
 #define WTF_MIPS_PIC (defined __PIC__)
-#define WTF_MIPS_ARCH __mips
 #define WTF_MIPS_ISA(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH == v)
 #define WTF_MIPS_ISA_AT_LEAST(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH >= v)
 #define WTF_MIPS_ARCH_REV __mips_isa_rev
@@ -678,6 +681,7 @@
     || CPU(ALPHA) \
     || CPU(ARM64) \
     || CPU(S390X) \
+    || CPU(MIPS64) \
     || CPU(PPC64)
 #define WTF_USE_JSVALUE64 1
 #else
--- openjfx-8u102-b14.orig/modules/web/src/main/native/Source/WTF/wtf/dtoa/utils.h
+++ openjfx-8u102-b14/modules/web/src/main/native/Source/WTF/wtf/dtoa/utils.h
@@ -49,7 +49,7 @@
 defined(__ARMEL__) || \
 defined(_MIPS_ARCH_MIPS32R2)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
-#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
+#elif CPU(MIPS) || CPU(MIPS64) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(ALPHA) || CPU(ARM64) || CPU(HPPA)
 #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
 #elif defined(_M_IX86) || defined(__i386__)
 #if defined(_WIN32)

Reply via email to