Package: cln
Version: 1.3.2-1
Severity: serious
Tags: patch
Justification: fails to build from source
User: [email protected]
Usertags: sparc64
cln fails to build on s390x and sparc64 as it detects them as 32-bit
architectures, due to __s390__ and __sparc__ matching respectively both
s390 and s390x, and both sparc and sparc64. The patch below fixes the
issue. Would it be possible to include it in the next upload? Thanks in
advance.
--- cln-1.3.2.orig/include/cln/host_cpu.h.in
+++ cln-1.3.2/include/cln/host_cpu.h.in
@@ -75,5 +75,9 @@
#undef __s390__
#endif
+#ifndef __s390x__
+#undef __s390x__
+#endif
+
#endif /* _CL_HOST_CPU_CONFIG_H */
--- cln-1.3.2.orig/include/cln/object.h
+++ cln-1.3.2/include/cln/object.h
@@ -22,10 +22,10 @@
#if defined(__m68k__)
#define cl_word_alignment 2
#endif
-#if defined(__i386__) || defined(__mips__) || defined(__mipsel__) ||
(defined(__sparc__) && !defined(__sparc64__)) || defined(__hppa__) ||
defined(__arm__) || defined(__rs6000__) || defined(__m88k__) ||
defined(__convex__) || defined(__s390__) || defined(__sh__)
+#if defined(__i386__) || defined(__mips__) || defined(__mipsel__) ||
(defined(__sparc__) && !defined(__arch64__)) || defined(__hppa__) ||
defined(__arm__) || defined(__rs6000__) || defined(__m88k__) ||
defined(__convex__) || (defined(__s390__) && !defined(__s390x__)) ||
defined(__sh__)
#define cl_word_alignment 4
#endif
-#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) ||
defined(__powerpc64__) || defined(__sparc__) || defined(__x86_64__)
+#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) ||
defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__)) ||
defined(__x86_64__) || defined(__s390x__)
#define cl_word_alignment 8
#endif
#if !defined(cl_word_alignment)
only in patch2:
unchanged:
--- cln-1.3.2.orig/include/cln/types.h
+++ cln-1.3.2/include/cln/types.h
@@ -48,7 +48,7 @@
#undef HAVE_LONGLONG
#endif
#endif
- #if defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) ||
defined(__mips64__) || defined(__powerpc64__) || defined(__sparc64__) ||
defined(__x86_64__))
+ #if defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) ||
defined(__mips64__) || defined(__powerpc64__) || defined(__s390x__) ||
(defined(__sparc__) && defined(__arch64__)) || defined(__x86_64__))
// 64 bit registers in hardware
#define HAVE_FAST_LONGLONG
#endif
@@ -76,7 +76,7 @@
// Integer type used for counters.
// Constraint: sizeof(uintC) >= sizeof(uintL)
- #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__)
|| defined(__powerpc64__) || defined(__x86_64__)))
+ #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__)
|| defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) &&
defined(__arch64__)) || defined(__x86_64__)))
#define intCsize long_bitsize
typedef long sintC;
typedef unsigned long uintC;
@@ -88,7 +88,7 @@
// Integer type used for lfloat exponents.
// Constraint: sizeof(uintE) >= sizeof(uintC)
-#if (defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) ||
defined(__powerpc64__) || defined(__x86_64__) || defined(__i386__) ||
defined(__mips__) || defined(__rs6000__)))
+#if (defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) ||
defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) &&
defined(__arch64__)) || defined(__x86_64__) || defined(__i386__) ||
defined(__mips__) || defined(__rs6000__)))
#define intEsize 64
typedef sint64 sintE;
typedef uint64 uintE;
@@ -127,7 +127,7 @@
typedef int sintD;
typedef unsigned int uintD;
#else // we are not using GMP, so just guess something reasonable
- #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) ||
defined(__ia64__) || defined(__powerpc64__) || defined(__x86_64__)))
+ #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) ||
defined(__ia64__) || defined(__powerpc64__) || (defined(__sparc__) &&
defined(__arch64__)) || defined(__s390x__) || defined(__x86_64__)))
#define intDsize 64
typedef sint64 sintD;
typedef uint64 uintD;
-- System Information:
Debian Release: wheezy/sid
APT prefers unreleased
APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: s390x
Kernel: Linux 3.0.0-1-s390x (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]