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;