I was trying to compile HOpenGL using GHC-5.02 in my windows98 platform. I still needed to use cygwin because otherwise I wouldn't have how to issue commands like "configure", "make depend", "make', ...
 
After some rearrangements, the last step ("make") gives me some warnings and errors concerning file GL_BinaryIO.hs, such as:
 
GL_BinaryIO.hs:21:
    Warning: Variable `hPutBufFull' is deprecated: renamed to hPutBuf
 
GL_BinaryIO.hs:21:
    Warning: Variable `hGetBufFull' is deprecated: renamed to hGetBuf
 
GL_BinaryIO.hs:193:
    Couldn't match `Addr' against `Ptr a'
        Expected type: Addr -> Int -> IO ()
        Inferred type: Ptr a -> Int -> IO ()
    In the application `hPutBufFull handle'
    In the first argument of `sizedInParam', namely
        `(hPutBufFull handle)'
 
GL_BinaryIO.hs:198:
    Couldn't match `IO (Ptr a)' against `t -> t1'
        Expected type: IO (Ptr a)
        Inferred type: t -> t1
    Probable cause: `malloc' is applied to too many arguments in the call
        (malloc (sizeOf x))
    In a 'do' expression pattern binding: buf <- malloc (sizeOf x)
 
I think implementation of module IOExts may have changed, and the file GL_BinaryIO.hs deals with its older version. I would like to ask three questions then:
 
1. Is it worth trying to solve this problem, or will I find a lot of other similar problems?
2. If it is, how can I solve it?
3. If it is not, is there another way to compile HOpenGL using GHC-5.02 under a Windows98 platform? I know Sven is working on this, but is there a reasonable solution by now?
 
Thanks,
-- Andre