Hello,

Samuel Thibault, le Wed 28 May 2008 01:51:56 +0100, a écrit :
> heimdal currently FTBFS on hurd-i386 for two reasons:
> 
> - kafs now defines two ioctls, so it has to define the GNU _IOT
>   constant, please apply first attached patch.
> - some new occurrences of MAXHOSTNAMELEN appeared, please append the second
>   attached patch to 026_posix_max.

Here are updated versions of the two patches.

In the meanwhile, a third reason appeared: cf/pthreads.m4 doesn't handle
the *-*-gnu* case, third patch attached (configure has to be regenerated
of course)

Samuel
--- heimdal-1.1/lib/kafs/kafs.h         2008-05-27 15:38:28.900000000 +0000
+++ heimdal-1.1-mine/lib/kafs/kafs.h    2008-05-27 15:40:15.200000000 +0000
@@ -46,6 +46,9 @@
 #define AFSCALL_SETPAG 21
 
 #ifndef _VICEIOCTL
+#ifdef __GNU__
+#define _IOT_ViceIoctl _IOT(_IOTS(caddr_t), 2, _IOTS(short), 2, 0, 0)
+#endif
 #define _VICEIOCTL(id)  ((unsigned int ) _IOW('V', id, struct ViceIoctl))
 #define _AFSCIOCTL(id)  ((unsigned int ) _IOW('C', id, struct ViceIoctl))
 #endif /* _VICEIOCTL */
--- heimdal-1.1/lib/kafs/afssys.c       2008-01-24 13:11:45.780000000 +0000
+++ heimdal-1.1-mine/lib/kafs/afssys.c  2008-05-27 17:18:11.540000000 +0000
@@ -42,7 +42,10 @@
     unsigned long param1;
     unsigned long syscall;
 };
-#define VIOC_SYSCALL_PROC _IOW('C', 1, void *)
+#ifdef __GNU__
+#define _IOT_procdata _IOT(_IOTS(long), 5, 0, 0, 0, 0)
+#endif
+#define VIOC_SYSCALL_PROC _IOW('C', 1, struct procdata)
 
 struct devdata {
     unsigned long syscall;
@@ -54,6 +57,9 @@
     unsigned long param6;
     unsigned long retval;
 };
+#ifdef __GNU__
+#define _IOT_devdata _IOT(_IOTS(long), 8, 0, 0, 0, 0)
+#endif
 #ifdef _IOWR
 #define VIOC_SYSCALL_DEV _IOWR('C', 2, struct devdata)
 #define VIOC_SYSCALL_DEV_OPENAFS _IOWR('C', 1, struct devdata)
--- heimdal-1.1/lib/gssapi/krb5/import_name.c   2008-01-24 13:11:49.000000000 
+0000
+++ heimdal-1.1-mine/lib/gssapi/krb5/import_name.c      2008-05-27 
18:25:29.120000000 +0000
@@ -93,7 +93,7 @@
     char *tmp;
     char *p;
     char *host;
-    char local_hostname[MAXHOSTNAMELEN];
+    char local_hostname[MaxHostNameLen];
     krb5_principal princ = NULL;
 
     tmp = malloc (input_name_buffer->length + 1);
--- heimdal-1.1/lib/gssapi/spnego/accept_sec_context.c  2008-01-24 
13:11:47.000000000 +0000
+++ heimdal-1.1-mine/lib/gssapi/spnego/accept_sec_context.c     2008-05-27 
18:45:52.850000000 +0000
@@ -92,7 +92,7 @@
                      gss_buffer_t output_token)
 {
     NegotiationTokenWin nt;
-    char hostname[MAXHOSTNAMELEN + 1], *p;
+    char hostname[MaxHostNameLen + 1], *p;
     gss_buffer_desc name_buf;
     gss_OID name_type;
     gss_name_t target_princ;
@@ -421,7 +421,7 @@
     if (verify_p) {
        gss_name_t name = GSS_C_NO_NAME;
        gss_buffer_desc namebuf;
-       char *str = NULL, *host, hostname[MAXHOSTNAMELEN];
+       char *str = NULL, *host, hostname[MaxHostNameLen];
 
        host = getenv("GSSAPI_SPNEGO_NAME");
        if (host == NULL || issuid()) {
--- heimdal-1.1/appl/gssmask/gssmask.c  2008-01-24 13:10:25.000000000 +0000
+++ heimdal-1.1-mine/appl/gssmask/gssmask.c     2008-05-27 19:20:22.850000000 
+0000
@@ -55,7 +55,7 @@
     struct handle *handles;
     struct sockaddr_storage sa;
     socklen_t salen;
-    char servername[MAXHOSTNAMELEN];
+    char servername[MaxHostNameLen];
 };
 
 FILE *logfile;
@@ -929,7 +929,7 @@
     if (moniker) {
        c->moniker = estrdup(moniker);
     } else {
-       char hostname[MAXHOSTNAMELEN];
+       char hostname[MaxHostNameLen];
        gethostname(hostname, sizeof(hostname));
        asprintf(&c->moniker, "gssmask: %s:%d", hostname, port);
     }
--- cf/pthreads.m4.orig 2009-01-31 12:56:51.697292000 +0000
+++ cf/pthreads.m4      2009-01-31 12:56:59.931116000 +0000
@@ -32,6 +32,11 @@
        PTHREADS_CFLAGS=-pthread
        PTHREADS_LIBS=-pthread
        ;;
+*-*-gnu*)
+       native_pthread_support=yes
+       PTHREADS_CFLAGS=-pthread
+       PTHREADS_LIBS="-pthread -lpthread"
+       ;;
 *-*-linux* | *-*-linux-gnu)
        case `uname -r` in
        2.*)

Reply via email to