Chuck Murcko <[EMAIL PROTECTED]> writes:
> On Sunday, July 1, 2001, at 06:46 AM, Pier P. Fumagalli wrote:
>
> > Aaron Bannert at [EMAIL PROTECTED] 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 | [EMAIL PROTECTED] | PGP public key at web site:
http://www.geocities.com/SiliconValley/Park/9289/
Born in Roswell... married an alien...