Source: sword
Severity: normal
Tags: patch

Dear Maintainer,

Although the package sword builds and can be installed on ppc64el without
problems, the type definition on sysdata.h conflicts with asm/types.h for
that architecture.
On ppc64el, asm/types.h includes asm-generic/int-l64.h, instead of 
asm-generic/int-ll64.h, (non usage of long long).
Which causes, for instance, package xiphos to ftbfs [1].

This patch defines the same as in asm-generic/int-l64.h only for ppc64
archs, which also includes BE.
I have tested it on amd64 and ppc64el vms.

Thanks.

Fernando

[1] 
https://buildd.debian.org/status/fetch.php?pkg=xiphos&arch=ppc64el&ver=4.0.4%2Bdfsg1-1&stamp=1449680826

-- System Information:
Debian Release: 8.0
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'unstable'), (500, 'stable'), (1, 
'experimental')
Architecture: ppc64el (ppc64le)

Kernel: Linux 3.16.0-4-powerpc64le (SMP w/8 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: systemd (via /run/systemd/system)
Index: sword-1.7.3+dfsg/include/sysdata.h
===================================================================
--- sword-1.7.3+dfsg.orig/include/sysdata.h
+++ sword-1.7.3+dfsg/include/sysdata.h
@@ -40,12 +40,15 @@ typedef unsigned short __u16;
 typedef signed int __s32;
 typedef unsigned int __u32;
 
-#ifdef __GNUC__
+#if defined(__GNUC__) && !defined(__powerpc64__)
 __extension__ typedef __signed__ long long __s64;
 __extension__ typedef unsigned long long __u64;
 #elif defined(__BORLANDC__)
 typedef signed __int64 __s64;
 typedef unsigned __int64 __u64;
+#elif defined(__powerpc64__)
+typedef __signed__ long __s64;
+typedef unsigned long __u64;
 #else
 typedef signed long long __s64;
 typedef unsigned long long __u64;

Reply via email to