Fix in CVS ndeed Posix compile problem

Ahn Ki-yung kyagrd@bawi.org
Wed, 26 Mar 2003 12:08:40 +0900


SunOS 5.8
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/2.95.3/specs
gcc version 2.95.3 20010315 (release) 
In the posix related libaries there are two forign call definition.

foreign import ccall unsafe "getpwuid_r"
  c_getpwuid_r :: CUid -> Ptr CPasswd ->
            CString -> CSize -> Ptr (Ptr CPasswd) -> IO CInt 

foreign import ccall unsafe "getpwnam_r"
  c_getpwnam_r :: CString -> Ptr CPasswd ->
            CString -> CSize -> Ptr (Ptr CPasswd) -> IO CInt

But the gcc says there are too many argument.
There are two ways to go around.
I change the foriegn call definition "getpwuid_r" ==> "__posix_getpwuid_r"
I change the foriegn call definition "getpwnam_r" ==> "__posix_getpwnam_r"

Another way is to tweak preprocessor macro definition.
I believe this is possible but I don't how to tweak it.
My <pwd.h> file is like this.

GHC implementors and porters should be awared of this.

p.s. Compiling GHC project took almost whole day long :-(
     Bootstraping from 4.08.2 and stage1, stange 2 ... :-(

-- 
Ahn Ki-yung