Patch needed for mdutils

Martin Schulze (linux-kernel@Infodrom.North.DE)
Sun, 11 Jan 98 15:10 MET


Howdy,

somehow this seems to have gotton lost. I've tried to compile mdutils
for Debian GNU/Linux and occurred problems:

make CFLAGS='-O2 -g' LDFLAGS='' LINUXTREE=/dev/null
make[1]: Entering directory `/tmp/mdutils-0.35'
cc -O2 -g -c mdadd.c -o mdadd.o
In file included from mdadd.c:25:
/usr/include/linux/time.h:30: warning: `FD_SET' redefined
/usr/include/sys/select.h:60: warning: this is the location of the previous definition
/usr/include/linux/time.h:31: warning: `FD_CLR' redefined
/usr/include/sys/select.h:61: warning: this is the location of the previous definition
/usr/include/linux/time.h:32: warning: `FD_ISSET' redefined
/usr/include/sys/select.h:62: warning: this is the location of the previous definition
/usr/include/linux/time.h:33: warning: `FD_ZERO' redefined
/usr/include/sys/select.h:63: warning: this is the location of the previous definition
In file included from mdadd.c:25:
/usr/include/linux/time.h:6: redefinition of `struct timespec'
In file included from /usr/include/linux/sem.h:3,
from /usr/include/linux/sched.h:27,
from /usr/include/linux/mm.h:4,
from /usr/include/linux/md.h:23,
from mdadd.c:27:
/usr/include/linux/ipc.h:5: warning: redefinition of `key_t'
/usr/include/sys/types.h:63: warning: `key_t' previously declared here
make[1]: *** [mdadd.o] Error 1
make[1]: Leaving directory `/tmp/mdutils-0.35'
make: *** [build] Error 2

Here's the patch I needed to make to compile the package:

--- linux-2.0.33.orig/include/linux/time.h Wed Jan 7 14:44:04 1998
+++ linux-2.0.33/include/linux/time.h Wed Jan 7 14:44:27 1998
@@ -3,10 +3,13 @@

#ifndef _STRUCT_TIMESPEC
#define _STRUCT_TIMESPEC
+#if ! defined (__timespec_defined)
+#define __timespec_defined 1
struct timespec {
long tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
+#endif /* __timespec_defined */
#endif /* _STRUCT_TIMESPEC */

struct timeval {
@@ -26,11 +29,21 @@
void do_settimeofday(struct timeval *tv);
#endif

+#ifndef FD_SETSIZE
#define FD_SETSIZE __FD_SETSIZE
+#endif
+#ifndef FD_SET
#define FD_SET(fd,fdsetp) __FD_SET(fd,fdsetp)
+#endif
+#ifndef FD_CLR
#define FD_CLR(fd,fdsetp) __FD_CLR(fd,fdsetp)
+#endif
+#ifndef FD_ISSET
#define FD_ISSET(fd,fdsetp) __FD_ISSET(fd,fdsetp)
+#endif
+#ifndef FD_ZERO
#define FD_ZERO(fdsetp) __FD_ZERO(fdsetp)
+#endif

/*
* Names of the interval timers, and structure
--- linux-2.0.33.orig/include/linux/ipc.h Mon Jan 5 21:44:20 1998
+++ linux-2.0.33/include/linux/ipc.h Mon Jan 5 21:45:50 1998
@@ -2,7 +2,6 @@
#define _LINUX_IPC_H
#include <linux/types.h>

-typedef int key_t; /* should go in <types.h> type for IPC key */
#define IPC_PRIVATE ((key_t) 0)

struct ipc_perm

Regards,

Joey

-- 
  / Martin Schulze  *  joey@infodrom.north.de  *  26129 Oldenburg /
 /              Whenever you meet yourself you're in a time loop /
/ http://home.pages.de/~joey/           or in front of a mirror /