Source: openscenegraph
Version: 3.2.3+dfsg1-1
Severity: normal
Tags: patch upstream

Dear Maintainer,

Please consider applying the attached patch fixing the openscenegraph
FTBFS on hurd-i386 to unblock the osgearth & qgis builds.

The patch has been developed and tested on the exodar porterbox.

Please forward the patch upstrream too.

Kind Regards,

Bas
Description: Fix FTBFS on hurd-i386.
Author: Bas Couwenberg <sebas...@debian.org>

--- a/OpenSceneGraph/src/OpenThreads/pthreads/PThread.cpp
+++ b/OpenSceneGraph/src/OpenThreads/pthreads/PThread.cpp
@@ -43,8 +43,10 @@
 #endif
 #if defined (__FreeBSD__) || defined (__APPLE__) || defined (__MACH__)
     #include <sys/types.h>
+#if !defined (__GNU__)
     #include <sys/sysctl.h>
 #endif
+#endif
 
 #if defined(ANDROID)
     #ifndef PAGE_SIZE
@@ -1008,7 +1010,7 @@ int Thread::microSleep(unsigned int micr
 //
 int OpenThreads::GetNumberOfProcessors()
 {
-#if defined(__linux__)
+#if defined(__linux__) || defined(__GNU__)
    long ret = sysconf(_SC_NPROCESSORS_ONLN);
    if (ret == -1)
       return 0;
--- a/OpenSceneGraph/src/osgDB/FileNameUtils.cpp
+++ b/OpenSceneGraph/src/osgDB/FileNameUtils.cpp
@@ -30,6 +30,10 @@
     using std::tolower;
 #endif
 
+#if defined(__GNU__) && !defined(PATH_MAX)
+#define PATH_MAX 4096
+#endif
+
 using namespace std;
 
 static const char * const PATH_SEPARATORS = "/\\";
--- a/OpenSceneGraph/applications/present3D/Cluster.cpp
+++ b/OpenSceneGraph/applications/present3D/Cluster.cpp
@@ -41,6 +41,8 @@
     #include <net/soioctl.h>
 #elif defined(__CYGWIN__)
     #include <unistd.h>
+#elif defined (__GNU__)
+    #include <unistd.h>
 #elif defined(__sun)
     #include <unistd.h>
     #include <sys/sockio.h>
@@ -337,7 +339,7 @@ void Receiver::sync( void )
     }
 
 #if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || \
-    defined(__DragonFly__) || defined(__FreeBSD_kernel__)
+    defined(__DragonFly__) || defined(__FreeBSD_kernel__) || defined(__GNU__)
     socklen_t
 #else
     int
--- a/OpenSceneGraph/examples/osgcluster/broadcaster.cpp
+++ b/OpenSceneGraph/examples/osgcluster/broadcaster.cpp
@@ -45,6 +45,8 @@
     #include <net/soioctl.h>
 #elif defined(__CYGWIN__) 
     #include <unistd.h>
+#elif defined (__GNU__)
+    #include <unistd.h>
 #elif defined(__sun) 
     #include <unistd.h>
     #include <sys/sockio.h>
--- a/OpenSceneGraph/examples/osgcluster/receiver.cpp
+++ b/OpenSceneGraph/examples/osgcluster/receiver.cpp
@@ -122,7 +122,7 @@ void Receiver::sync( void )
         return;
     }
 
-#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || defined(__FreeBSD_kernel__)
+#if defined(__linux) || defined(__FreeBSD__) || defined( __APPLE__ ) || defined(__FreeBSD_kernel__) || defined(__GNU__)
     socklen_t size; 
 #else
     int size;

Reply via email to