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