Ravenbrook / Projects / Memory Pool System / Issues

Memory Pool System


MPS issue job000973

Title: MPS doesn't compile under Mac OS X 10.3.4
Status: closed
Priority: essential
Assigned user: Richard Brooksby
Product: mps
Organization: Ravenbrook
Description: I tried compiling the MPS on my laptop, which is currently running Mac
OS X 10.3.4. I got the following error:

> xcppgc: xcppgc/hi/testlib.o
> In file included from /usr/include/math.h:26,
> from testlib.c:13:
> /usr/include/architecture/ppc/math.h:505: error: conflicting types for
> `cabs'
> osxc.h:24: error: previous declaration of `cabs'
> make[2]: *** [xcppgc/hi/testlib.o] Error 1
> make[1]: *** [target] Error 2
> make: *** [mpmss] Error 2

See also job000602 for a very similar report.
Analysis: osxc.h says:

> /* cabs doesn't have a proper prototype; taken from glibc 2.0.6
> manual. */
> /* Define a structure tag to avoid warnings. */
> struct mps_complex { double real, imag; };
> extern double cabs(struct mps_complex z);

Looks like this is no longer true. We need to figure out when this
changed in Mac OS X and make this conditional.

With this hacked out the MPS compiles just fine and mpmss runs and
fails to find defects.

2005-01-28 DRJ:

It may be possible to use <AvailabilityMacros.h> to determine
what system we are compiling on. EG MAC_OS_X_VERSION_10_3 is
only defined on 10.3 and above.
How found: unknown
Evidence: See "Description".
Observed in: 1.100.1
Introduced in: 0.0.0
Test procedure: none
Created by: Richard Brooksby
Created on: 2004-07-23 17:31:19
Last modified by: Richard Kistruck
Last modified on: 2005-02-02 18:16:12
History: 2004-07-23 RB Created from e-mail message.
2004-12-08 DRJ link to job000602

Fixes

Change Effect Date User Description
142435 closed 2005-02-02 18:01:36 Richard Kistruck Remove obsolete wrokarounds for historical problems in ancient Mac OS X headers: these workarounds are no longer needed.
Also, note this removal in new file .../mps/master/manual/build-notes/.
Also, add reference to this file in index of manuals.

Generated at 2008-09-06 23:44:54 by $Id: //info.ravenbrook.com/infosys/cgi/issue.cgi#430 $

Copyright © Ravenbrook Limited. This document is provided "as is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this document. You may not duplicate or reproduce this document in any form without the express permission of the copyright holder.

Ravenbrook / Projects / Memory Pool System / Issues