[MLton] C99 runtime problems on Solaris

Wesley W. Terpstra terpstra@gkec.tu-darmstadt.de
Fri, 24 Dec 2004 01:28:58 +0100


On Thu, Dec 23, 2004 at 03:20:26PM -0800, Stephen Weeks wrote:
> When I try to compile the new C99 runtime on my Solaris machine, 
> I get the following errors
> 
> 	platform.h:34:18: fenv.h: No such file or directory
> 	platform.h:35:20: stdint.h: No such file or directory

... crap.

> Any pointers on what magic defines will fix things?

Defines will never create missing headers.

> My machine's uname -a reports
> 	SunOS blade 5.8 Generic_108528-09 sun4u sparc SUNW,Sun-Blade-100

It is entirely possible that Solaris does not have a C99-compliant libc.

However, according to
	http://docs.sun.com/app/docs/doc/816-5173/6mbb8adrn?a=view
	http://docs.sun.com/app/docs/doc/816-5173/6mbb8ae26?a=view
there should indeed be an fenv.h and stdint.h.

I don't know how to parse your uname output.
Solaris 10 has these and at the bottom of the pages I quoted it shows 
SunOS 5.1. Does your 5.8 mean you have >= Solaris 10? Maybe you need
to install a package to get these headers?

Are you using gcc? Maybe gcc on Solaris is broken and doesn't look for
system headers in the right places. Try Sun's compiler? Maybe a newer
version of gcc looks in the right place / includes a replacement.

I'm not having much success with google.

This page
	http://docs.sun.com/app/docs/doc/816-5175/6mbba7f3t?a=view
claims that Solaris supports basically every standard known to man.
It also says we're using the right define (_POSIX_C_SOURCE=200112L)

Their page states you should use 'c99' to compile the files.
Try that and see if it helps?

-- 
Wesley W. Terpstra