[Haskell-cafe] Building Haskell stuff on Windows

Arthur van Leeuwen arthurvl at cs.uu.nl
Wed Nov 7 11:34:04 EST 2007


Hello all,

maybe I'm just not used enough to Windows, but let me explain my woes of
today. It seems to me to be *much* too hard to get a full install of  
GHC + GTK2Hs
going on Windows, going from the idea that I want the currently  
released stable
versions of everything.

So, this is the way I progressed (from a clean Windows install):
	- Installed MinGW 5.1.3
	- Installed MSYS 1.0.10
	- Installed GHC 6.8.1
	- edit /etc/fstab in MSYS to correctly bind MinGW
	- Installed gtk-dev-2.10.11-win32-1
	- Downloaded gtk2hs-0.9.12.tar.gz
	- cd /d/haskell/gtk2hs-0.9.12
	- ran configure
	- discovered I needed happy (this was not documented!)
	- Downloaded happy-1.17.tar.gz
	- unpacked, configured, built, installed
	- ran configure for gtk2hs
	- discovered I needed alex (this was not documented!)
	- Downloaded alex-2.10.tar.gz
	- Setup.lhs of alex-2.10 did not compile due importing  
Distribution.Simple(compilerPath)
	- Installed darcs
	- darcs got alex development tree
	- Setup.lhs of alex-2.10 compiled
	- building alex-2.10 failed due to wishing an existing alex
	- broke down and downloaded alex-2.10 binaries
	- installed alex-2.10 next to happy in C:\Program Files\Haskell\bin
	- ran configure for gtk2hs
	- ran make
	- discovered alex should not be in C:\Program Files as make breaks  
on paths with embedded spaces...
	- copied C:\Program Files\Haskell to C:\Haskell and modified $PATH
	- reran configure for gtk2hs
	- ran make
	- discovered gtk2hs 0.9.12 hides 'containers'
	- broke down and darcs got gtk2hs development tree
	- installed automake
	- ran autoreconf
	- discovered automake for MSYS 1.0.10 is too old
	- installed automake-1.9
	- ran aclocal-1.9
	- ran autoconf
	- ran configure
	- discovered I need to explicitly add GTK libs to aclocal
	- ran aclocal-1.9 -I with GTK library path
	- ran autoconf
	- ran configure for gtk2hs
	- ran make
	- complained on IRC
	- ran make install
	- sighed deeply

Ofcourse, on complaining I learned that hackage contains alex 2.2,  
rather than 2.10,
but that is not apparent from the alex webpages. It seems to me that  
much of this
is way too hard to figure out... figuring out the dependency graph  
should not be
necessary, as the developers should know what parts go into their code!

Furthermore, as much as I applaud hackage, it is not ready for use,  
as it does not
afford things you might want, such as searching for latest (stable)  
releases of packages.
Plus, it is still not the default go-to place for many things. Maybe  
developers that decide
to put their most recent versions on hackage could document that on  
the main webpages
of their code? (I've ran into this with FileManip as well, not just  
with Alex).

With kind regards, Arthur.

-- 

   /\    / |       arthurvl at cs.uu.nl       | Work like you don't need  
the money
/__\  /  | A friend is someone with whom | Love like you have never  
been hurt
/    \/__ | you can dare to be yourself   | Dance like there's nobody  
watching





More information about the Haskell-Cafe mailing list