apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: [PATCH] Can't build locks...
Date Mon, 02 Jul 2001 17:39:03 GMT
Chuck Murcko <chuck@topsail.org> writes:

> On Sunday, July 1, 2001, at 06:46 AM, Pier P. Fumagalli wrote:
> 
> > Aaron Bannert at aaron@ebuilt.com wrote:
> >
> >> On Sat, Jun 30, 2001 at 02:53:44AM +0100, Pier P. Fumagalli wrote:
> >>> On Darwin 1.3.7 I had an error building locks/unix/crossproc.c
> >>
> >> What was the error? Maybe autoconf is incorrectly detecting some
> >> headers or library functions on Darwin that aren't really there?
> >
> > It was trying to compile the SYSV code but darwin doesn't have the
> > sembuf
> > structure defined...
> 
> Well, whoever said autoconf is incorrectly detecting was right:
> 
> /bin/sh /usr/local/src/httpd-2.0/srclib/apr/libtool --silent
> --mode=compile /usr/bin/cc -g -O2   -DHAVE_CONFIG_H -DDARWIN
> -I../../include -I../../include/arch -I../../include/arch/unix  -c
> crossproc.c && touch crossproc.lo
> crossproc.c: In function `sysv_setup':
> crossproc.c:67: invalid use of undefined type `struct sembuf'
> crossproc.c:68: invalid use of undefined type `struct sembuf'
> crossproc.c:69: invalid use of undefined type `struct sembuf'
> crossproc.c:69: `SEM_UNDO' undeclared (first use in this function)
> crossproc.c:69: (Each undeclared identifier is reported only once
> crossproc.c:69: for each function it appears in.)
> crossproc.c:70: invalid use of undefined type `struct sembuf'
> crossproc.c:71: invalid use of undefined type `struct sembuf'
> crossproc.c:72: invalid use of undefined type `struct sembuf'
> crossproc.c: In function `sysv_cleanup':
> crossproc.c:82: `IPC_RMID' undeclared (first use in this function)
> crossproc.c: In function `sysv_create':
> crossproc.c:91: `IPC_PRIVATE' undeclared (first use in this function)
> crossproc.c:91: `IPC_CREAT' undeclared (first use in this function)
> crossproc.c:98: `SETVAL' undeclared (first use in this function)
> crossproc.c: At top level:
> crossproc.c:62: storage size of `op_on' isn't known
> crossproc.c:63: storage size of `op_off' isn't known
> make[4]: *** [crossproc.lo] Error 1
> 
> Disabling SYSV semaphores lets the build continue. It breaks later in
> apr_sms_trivial.c, but that looks easy to fix.

Currently, we think APR_HAS_SYSVSEM_SERIALIZE if the platform has
semget() and semctl().

What is in your apr/include/arch/unix/apr_private.h for HAVE_SEMGET
and HAVE_SEMCTL?

Can you grep through the Darwin header files for the related
declarations (struct sembuf, IPC_PRIVATE, etc.)?  Maybe they are in a
header file which isn't included from crossproc.c?

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Mime
View raw message