2009/04/09

hsSDL can't install on GHC 6.10.2, Windows/Cygwin

I install newest version of GHC, 6.10.2, and I try to use Graphics.UI.SDL, but I can't.
I didn't use cabal, tried to install manually. But it occured error in building C source part.
I edited sdl.cabal, add
Include-Dirs: C:\SDL-1.2.12\include
Extra-Lib-Dirs: C:\SDL-1.2.12\lib
and change
Extra-Libraries: SDL.dll SDLmain
"runghc Setup.lhs configure" is passed safely, but in "runghc Setup.lhs build", I got these errors:
$ runghc Setup.lhs build

Setup.lhs:2:2:
Warning: In the use of `defaultUserHooks'
(imported from Distribution.Simple):
Deprecated: "Use simpleUserHooks or autoconfUserHooks, unless you n
eed Cabal-1.2
compatibility in which case you must stick with defaultUserHooks"
Preprocessing library SDL-0.5.5...
dist\build\Graphics\UI\SDL\General_hsc_make.o:General_hsc_make.c:(.text+0x0): mu
ltiple definition of `main'
C:\ghc\ghc-6.10.2/gcc-lib/libmingw32.a(main.o):main.c:(.text+0x0): first defined
here
C:\ghc\ghc-6.10.2/gcc-lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined r
eference to `WinMain@16'
collect2: ld returned 1 exit status
linking dist\build\Graphics\UI\SDL\General_hsc_make.o failed
command was: C:\ghc\ghc-6.10.2\gcc.exe -BC:\ghc\ghc-6.10.2\gcc-lib -IC:\ghc\ghc-
6.10.2\include\mingw -LC:\temp\SDL-1.2.12\lib -lSDL.dll -lSDLmain -L/cygdrive/c/
cygwin/usr/local/lib -lSDLmain -lSDL -lmingw32 -mwindows -LC:\ghc\ghc-6.10.2\bas
e-4.1.0.0 -lwsock32 -lmsvcrt -lkernel32 -luser32 -lshell32 -LC:\ghc\ghc-6.10.2\i
nteger-0.1.0.1 -LC:\ghc\ghc-6.10.2\ghc-prim-0.1.0.0 -LC:\ghc\ghc-6.10.2 -LC:\ghc
\ghc-6.10.2/gcc-lib -lm -lffi -lgmp -lwsock32 dist\build\Graphics\UI\SDL\General
_hsc_make.o -o dist\build\Graphics\UI\SDL\General_hsc_make.exe
What am I wrong?

I checked path, configure, and tried several times. But it never succeeded. So, I uninstall GHC 6.10.2, and downgrade to GHC 6.8.3, and try same sequence. then I can install. Why? Is there anyone to have same trouble?
In the past, when I tried to use Graphics.UI.GLUT, I've got same kinds of trouble. I want to use GHC 6.10.2, but its happens, I can't.

No comments: