Package: marisa Version: 0.2.4-5 Severity: importnat Tags: upstream patch Justification: fails to build from source
marisa fails to build from source on s390x due to testsuite failures. It appears that it uses an hardcoded list of architectures to determine the size of a size_t type, which doesn't include s390x. The patch below fixes the issue: --- marisa-0.2.4.orig/lib/marisa/base.h +++ marisa-0.2.4/lib/marisa/base.h @@ -30,7 +30,7 @@ typedef uint64_t marisa_uint64; #if defined(_WIN64) || defined(__amd64__) || defined(__x86_64__) || \ defined(__ia64__) || defined(__ppc64__) || defined(__powerpc64__) || \ - defined(__sparc64__) || defined(__mips64__) || defined(__aarch64__) + defined(__sparc64__) || defined(__mips64__) || defined(__aarch64__) || defined(__s390x__) #define MARISA_WORD_SIZE 64 #else // defined(_WIN64), etc. #define MARISA_WORD_SIZE 32 BTW, __sparc64__ doesn't exist and should be replaced by (__sparc__ && __arch64__) That said, I don't really see the point of using an hardcoded architecture list to determine the size of a size_t type. This can be done the following way: | #include <stdint.h> | | #if SIZE_MAX == UINT64_MAX | #define MARISA_WORD_SIZE 64 | #else | #define MARISA_WORD_SIZE 32 | #endif However as marisa is using autotools, the best way to do that would be to add a test in configure. -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: s390x Kernel: Linux 3.2.0-4-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 debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org