MPS issue job000973

TitleMPS doesn't compile under Mac OS X 10.3.4
Statusclosed
Priorityessential
Assigned userRichard Brooksby
OrganizationRavenbrook
DescriptionI 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.
Analysisosxc.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 foundmanual_test
EvidenceSee "Description".
Observed in1.100.1
Created byRichard Brooksby
Created on2004-07-23 17:31:19
Last modified byGareth Rees
Last modified on2014-04-12 21:22:51
History2004-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.