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.*)