FTBFS: Mozilla on GNU/Hurd with patches
Howdy folks,
Here are some notes on what I did to build the mozilla debs. It still
needs debugging but it does build.
Must have pthreads patched for __inline.
There is also and issue with clockid_t in time.h. I got around this by
adding _GNU_SOURCE, but this is probably not the ideal solution.
Patched mozilla with nyu's consolidated patch.
Most of the rest of the issues were PATHMAX and MAXPATHLEN issues.
I am including the files I patched in this e-mail.
Let me know if I should fix/change anything.
Thank you,
--
Barry deFreese
Debian 3.0r1 "Woody"
GNU/Hurd
Registered Linux "Newbie" #302256 - Hurd H4XX0r wannabe
"Programming today is a race between software engineers striving
to build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots. So far, the Universe is
winning." Rich Cook.
--- build-tree/mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.corg 2005-01-18 18:07:24.000000000 -0500
+++ build-tree/mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c 2005-01-18 18:08:09.000000000 -0500
@@ -218,7 +218,8 @@ struct prldap_errormap_entry {
#if defined(__hpux) || defined(_AIX) || defined(OSF1) || defined(DARWIN) || \
defined(BEOS) || defined(FREEBSD) || defined(BSDI) || defined(VMS) || \
- defined(OPENBSD) || defined(NETBSD) || defined(__FreeBSD_kernel__)
+ defined(OPENBSD) || defined(NETBSD) || defined(__FreeBSD_kernel__) || \
+ defined(__GNU__)
#define EDEADLOCK -1
#endif
--- build-tree/mozilla/dbm/src/ndbm.corg 2005-01-18 18:29:13.000000000 -0500
+++ build-tree/mozilla/dbm/src/ndbm.c 2005-01-20 12:34:01.000000000 -0500
@@ -58,6 +58,10 @@ static char sccsid[] = "@(#)ndbm.c 8.4 (
#include "ndbm.h"
#include "hash.h"
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+
/*
* Returns:
* *DBM on success
--- build-tree/mozilla/gfx/src/gtk/nsDeviceContextSpecG.horg 2005-01-19 05:23:55.000000000 -0500
+++ build-tree/mozilla/gfx/src/gtk/nsDeviceContextSpecG.h 2005-01-20 12:52:00.000000000 -0500
@@ -37,6 +37,11 @@
*
* ***** END LICENSE BLOCK ***** */
+/* Temp hack for GNU/Hurd */
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#ifndef nsDeviceContextSpecGTK_h___
#define nsDeviceContextSpecGTK_h___
--- build-tree/mozilla/xpcom/io/nsDirectoryService.cpporg 2005-01-18 19:24:27.000000000 -0500
+++ build-tree/mozilla/xpcom/io/nsDirectoryService.cpp 2005-01-20 12:50:18.000000000 -0500
@@ -82,6 +82,14 @@
#include "prenv.h"
#endif
+#ifndef MAX_PATH
+#define MAX_PATH 4096
+#endif
+
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+
#include "SpecialSystemDirectory.h"
#include "nsAppFileLocationProvider.h"
--- build-tree/mozilla/xpcom/io/nsLocalFileUnix.cpporg 2005-01-18 20:04:10.000000000 -0500
+++ build-tree/mozilla/xpcom/io/nsLocalFileUnix.cpp 2005-01-20 12:50:42.000000000 -0500
@@ -77,6 +77,10 @@
#define FILE_STRNCMP strncmp
#endif
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#define VALIDATE_STAT_CACHE() \
PR_BEGIN_MACRO \
if (!mHaveCachedStat) { \
--- build-tree/mozilla/xpcom/obsolete/nsSpecialSystemDirectory.cpporg 2005-01-18 20:21:48.000000000 -0500
+++ build-tree/mozilla/xpcom/obsolete/nsSpecialSystemDirectory.cpp 2005-01-20 12:51:21.000000000 -0500
@@ -68,6 +68,15 @@
#include <unixlib.h>
#endif
+/* Temp fix for GNU/Hurd for PATH_MAX and MAXPATHLEN */
+#ifndef MAX_PATH
+#define MAX_PATH 4096
+#endif
+
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+
#include "plstr.h"
#include "nsHashtable.h"
--- build-tree/mozilla/modules/libjar/nsZipArchive.cpporg 2005-01-18 20:49:23.000000000 -0500
+++ build-tree/mozilla/modules/libjar/nsZipArchive.cpp 2005-01-20 12:49:00.000000000 -0500
@@ -110,6 +110,10 @@ char * strdup(const char *src)
# endif
#endif /* XP_UNIX */
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#include "zipfile.h"
#include "zipstruct.h"
#include "nsZipArchive.h"
--- build-tree/mozilla/nsprpub/pr/src/md/unix/uxrng.corg 2005-01-18 17:36:07.000000000 -0500
+++ build-tree/mozilla/nsprpub/pr/src/md/unix/uxrng.c 2005-01-18 17:36:36.000000000 -0500
@@ -135,7 +135,8 @@ GetHighResClock(void *buf, size_t maxbyt
return 0;
}
-#elif (defined(LINUX) || defined(KFREEBSD) || defined(KNETBSD) || defined(OPENBSD))
+#elif (defined(LINUX) || defined(KFREEBSD) || defined(KNETBSD) || \
+ defined(OPENBSD) || defined(__GNU__))
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
Reply to: