delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/07/20/14:18:51

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <00a401c11148$89436f20$83fafea9@tiny450>
From: "Max Bowsher" <max AT bowshernet DOT freeserve DOT co DOT uk>
To: "Cygwin Maillist" <cygwin AT cygwin DOT com>
References: <20010720103009 DOT 39942 DOT qmail AT web13907 DOT mail DOT yahoo DOT com>
Subject: Re: qmail compilation
Date: Fri, 20 Jul 2001 19:18:08 +0100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2615.200
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200

Yes, I have _tried_ to compile qmail.
However, it seems to require FIFOs, which are not implemented in cygwin yet.
I have not explored whether this can be worked around.

I did, however, solve the following issues.
1) Non-portable errno declaration.
Open error.h and change the existing extern int errno; declaration to
#include <errno.h>

2) Cygwin lacks setgroups call.
A minimal implementation is in the Cygwin todo list though (see cygwin.com)

3) Cygwin provides neither lockf or flock, but does have fcntl, so you need
to reimplement the locking functions with fcntl:
int lock_ex(fd)
int fd;
{
struct flock lck;
lck.l_type = F_WRLCK;
lck.l_start = 0;
lck.l_whence = 0;
lck.l_len = 0;
return fcntl (fd, F_SETLKW, &lck);
}
int lock_exnb(fd)
int fd;
{
struct flock lck;
lck.l_type = F_WRLCK;
lck.l_start = 0;
lck.l_whence = 0;
lck.l_len = 0;
return fcntl (fd, F_SETLK, &lck);
}
int lock_un(fd)
int fd;
{
struct flock lck;
lck.l_type = F_UNLCK;
lck.l_start = 0;
lck.l_whence = 0;
lck.l_len = 0;
return fcntl (fd, F_SETLKW, &lck);
}

4) qmail requires bind. Off you go and compile that...
Get the bind-src package from BIND 8.
Unpack it, and delete src/port/cygwin/include/sys/un.h
DO NOT attempt to use the make links method to build outside the source tree
Build simply, inside the source tree. It should then build OOTB.

That leaves you with the FIFO problem. Anyone?

BTW, you should be editing the conf-* files in qmail, not compile and load.

Max.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019