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