Subject: Re: pkg/30004: mail/ezmlm-idx doesn't compile
To: None <schmonz@netbsd.org, gnats-admin@netbsd.org,>
From: Amitai Schlair <schmonz@schmonz.com>
List: pkgsrc-bugs
Date: 04/18/2005 14:03:02
The following reply was made to PR pkg/30004; it has been noted by GNATS.
From: Amitai Schlair <schmonz@schmonz.com>
To: gnats-bugs@netbsd.org, Wouter Schoot <ascent@schoot.org>
Cc:
Subject: Re: pkg/30004: mail/ezmlm-idx doesn't compile
Date: Mon, 18 Apr 2005 10:02:15 -0400
On Apr 18, 2005, at 6:03 AM, Wouter Schoot wrote:
> chmod 755 compile
> ./compile ezmlm-archive.c
> In file included from ezmlm-archive.c:15:
> readwrite.h:4: error: conflicting types for `read'
> /usr/include/unistd.h:132: error: previous declaration of `read'
> readwrite.h:5: error: conflicting types for `write'
> /usr/include/unistd.h:144: error: previous declaration of `write'
> *** Error code 1
>
> Stop.
> make: stopped in /usr/pkgsrc/mail/ezmlm-idx/work/ezmlm-idx-0.440
> *** Error code 1
Looks like a 32bit-ism in ezmlm-idx. read() and write() return an
ssize_t, which isn't necessarily an int (and it's a long on amd64).
Please try this patch and let me know whether it fixes your problem.
--- readwrite.h.orig 1997-06-29 23:11:54.000000000 -0400
+++ readwrite.h
@@ -1,7 +1,8 @@
#ifndef READWRITE_H
#define READWRITE_H
-extern int read();
-extern int write();
+#include <sys/types.h>
+extern ssize_t read();
+extern ssize_t write();
#endif