id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
3635,"base-3-compat with 6.12 won't load in GHCi, Template Haskell on Windows",guest,,"base3-compat/GHC/Handle.hs needs:

{{{
#ifndef mingw32_HOST_OS
..
#endif
}}}

Wrapped around its export for and definition of unlockFile. This is because unlockFile is a RTS symbol that is only compiled on non-Windows OSes. This #ifdef exists in base4, it looks like it was just omitted from base3.

The result of this bug is that any package using base 3 doesn’t work with template-haskell or GHCi:

{{{
$ ghci -package base-3.0.3.2
WARNING: GHCi invoked via 'ghci.exe' in *nix-like shells (cygwin-bash, in particular)
         doesn't handle Ctrl-C well; use the 'ghcii.sh' shell wrapper instead
GHCi, version 6.12.0.20091010: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... : unable to load package `base-3.0.3.2'
: C:\ghc\GHC-61~2.200\lib\base-3.0.3.2\HSbase-3.0.3.2.o: unknown symbol `_unlockFile'
}}}
",bug,closed,high,6.12.1,libraries/base,6.12.1 RC1,fixed,,batterseapower@… ndmitchell@…,Windows,Unknown/Multiple,,Unknown,,,,
