[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Pkg-octave-devel] Bug#670073: octave-nan: FTBFS on hurd-i386



Package: octave-nan
Version: 2.5.5-1
Severity: important
Tags: patch
User: debian-hurd@lists.debian.org
Usertags: hurd

Hi,

currently[1], octave-nan does not compile on GNU/Hurd.

The problem is that it tries to include <machine/endian.h> if BSD is
defined (which is on Hurd, since it initially wanted to be
BSD-compatible, somehow). Anyhow, the attached patch avoids that
#include in Hurd, and enabling <byteswap.h> on any GNU libc platform
(since GNU libc provides that header) to have optimized byte swapping
macros on GNU/Hurd and also on GNU/kFreeBSD too.

[1] https://buildd.debian.org/status/fetch.php?pkg=octave-nan&arch=hurd-i386&ver=2.5.5-1&stamp=1333477163

Thanks,
-- 
Pino
--- a/src/xptopen.cpp
+++ b/src/xptopen.cpp
@@ -72,7 +72,7 @@ SPSS file format
 #define max(a,b)	(((a) > (b)) ? (a) : (b))
 #define min(a,b)	(((a) < (b)) ? (a) : (b))
 
-#ifdef __linux__
+#if defined(__linux__) || defined(__GLIBC__)
 /* use byteswap macros from the host system, hopefully optimized ones ;-) */
 #include <byteswap.h>
 #endif
@@ -83,7 +83,7 @@ SPSS file format
 #define __BYTE_ORDER __LITTLE_ENDIAN
 #endif
 
-#if (defined(BSD) && (BSD >= 199103))
+#if ((defined(BSD) && !defined(__GNU__)) && (BSD >= 199103))
 #include <machine/endian.h>
 #define __BIG_ENDIAN _BIG_ENDIAN
 #define __LITTLE_ENDIAN _LITTLE_ENDIAN

Reply to: