id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
5864,Windows build fails: undefined reference to `_imp___imp__n_capabilities',igloo,,"The Windows build is currently failing with:
{{{
""inplace/bin/ghc-stage2.exe"" -fPIC -dynamic  -H32m -O -Wall -Werror -H64m -O0    -package-name dph-prim-par-0.6.0.1 -hide-all-packages -i -ilibraries/dph/dph-prim-par/. -ilibraries/dph/dph-prim-par/dist-install/build -ilibraries/dph/dph-prim-par/dist-install/build/autogen -Ilibraries/dph/dph-prim-par/dist-install/build -Ilibraries/dph/dph-prim-par/dist-install/build/autogen -Ilibraries/dph/dph-prim-par/.    -optP-include -optPlibraries/dph/dph-prim-par/dist-install/build/autogen/cabal_macros.h -package base-4.4.0.0 -package dph-base-0.6.0.1 -package dph-prim-interface-0.6.0.1 -package dph-prim-seq-0.6.0.1 -package old-time-1.0.0.7 -package random-1.0.1.1 -package vector-0.9.1  -Odph -funbox-strict-fields -fcpr-off -Wall -XHaskell98 -XTypeFamilies -XGADTs -XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators -XFlexibleInstances -XFlexibleContexts -O2 -O -dcore-lint -fno-warn-deprecated-flags  -no-user-package-conf -rtsopts -Wwarn    -odir libraries/dph/dph-prim-par/dist-install/build -hidir libraries/dph/dph-prim-par/dist-install/build -stubdir libraries/dph/dph-prim-par/dist-install/build -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc -c libraries/dph/dph-prim-par/./Data/Array/Parallel/Unlifted/Distributed/TheGang.hs -o libraries/dph/dph-prim-par/dist-install/build/Data/Array/Parallel/Unlifted/Distributed/TheGang.dyn_o
""inplace/bin/ghc-stage2.exe"" -fPIC -dynamic  -H32m -O -Wall -Werror -H64m -O0    -package-name dph-prim-par-0.6.0.1 -hide-all-packages -i -ilibraries/dph/dph-prim-par/. -ilibraries/dph/dph-prim-par/dist-install/build -ilibraries/dph/dph-prim-par/dist-install/build/autogen -Ilibraries/dph/dph-prim-par/dist-install/build -Ilibraries/dph/dph-prim-par/dist-install/build/autogen -Ilibraries/dph/dph-prim-par/.    -optP-include -optPlibraries/dph/dph-prim-par/dist-install/build/autogen/cabal_macros.h -package base-4.4.0.0 -package dph-base-0.6.0.1 -package dph-prim-interface-0.6.0.1 -package dph-prim-seq-0.6.0.1 -package old-time-1.0.0.7 -package random-1.0.1.1 -package vector-0.9.1  -Odph -funbox-strict-fields -fcpr-off -Wall -XHaskell98 -XTypeFamilies -XGADTs -XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators -XFlexibleInstances -XFlexibleContexts -O2 -O -dcore-lint -fno-warn-deprecated-flags  -no-user-package-conf -rtsopts -Wwarn    -odir libraries/dph/dph-prim-par/dist-install/build -hidir libraries/dph/dph-prim-par/dist-install/build -stubdir libraries/dph/dph-prim-par/dist-install/build -hisuf dyn_hi -osuf  dyn_o -hcsuf dyn_hc libraries/dph/dph-prim-par/dist-install/build/Data/Array/Parallel/Unlifted/Distributed/TheGang.dyn_o       -shared -dynamic -dynload deploy  -no-auto-link-packages -o libraries/dph/dph-prim-par/dist-install/build/libHSdph-prim-par-0.6.0.1-ghc7.5.20120208.dll
libraries\dph\dph-prim-par\dist-install\build\Data\Array\Parallel\Unlifted\Distributed\TheGang.dyn_o:fake:(.text+0x72): undefined reference to `_imp___imp__n_capabilities'
Creating library file: libraries/dph/dph-prim-par/dist-install/build/libHSdph-prim-par-0.6.0.1-ghc7.5.20120208.dll.a
collect2: ld returned 1 exit status
make[1]: *** [libraries/dph/dph-prim-par/dist-install/build/libHSdph-prim-par-0.6.0.1-ghc7.5.20120208.dll] Error 1
make: *** [all] Error 2
}}}

The essence of the problem is:
{{{
module Foo where

import Control.Concurrent (getNumCapabilities)
import System.IO.Unsafe (unsafePerformIO)

numCapabilities :: Int
numCapabilities = unsafePerformIO getNumCapabilities
}}}
{{{
$ ../inplace/bin/ghc-stage2.exe -fPIC -dynamic -package-name foo-1.0 -hide-all-packages -package base -hisuf dyn_hi -osuf dyn_o -c Foo.hs -O -dcore-lint -o Foo.dyn_o
$ ../inplace/bin/ghc-stage2.exe -fPIC -dynamic -package-name foo-1.0 -hide-all-packages -package base -hisuf dyn_hi -osuf dyn_o Foo.dyn_o -shared -dynamic -dynload deploy -no-auto-link-packages -o libHSfoo-1.0-ghc7.5.20120208.dll
Foo.dyn_o:fake:(.text+0x72): undefined reference to `_imp___imp__n_capabilities'
Creating library file: libHSfoo-1.0-ghc7.5.20120208.dll.a
collect2: ld returned 1 exit status
}}}
",bug,closed,highest,7.6.1,Compiler,7.5,fixed,,,Windows,Unknown/Multiple,None/Unknown,Unknown,,,,
