Ticket #3635 (closed bug: fixed)

Opened 4 years ago

Last modified 4 years ago

base-3-compat with 6.12 won't load in GHCi, Template Haskell on Windows

Reported by: guest Owned by:
Priority: high Milestone: 6.12.1
Component: libraries/base Version: 6.12.1 RC1
Keywords: Cc: batterseapower@…, ndmitchell@…
Operating System: Windows Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

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'

Change History

Changed 4 years ago by simonmar

  • priority changed from normal to high
  • difficulty set to Unknown
  • milestone set to 6.12.1

Changed 4 years ago by igloo

  • status changed from new to closed
  • resolution set to fixed

Thanks for the report; fixed by

Sun Nov  8 11:16:44 PST 2009  Ian Lynagh <igloo@earth.li>
  * Only define GHC.Handle.unlockFile on non-Windows; fixes trac #3635

    M ./GHC/Handle.hs +5
Note: See TracTickets for help on using tickets.