#5864: Windows build fails: undefined reference to `_imp___imp__n_capabilities'
---------------------------------+------------------------------------------
    Reporter:  igloo             |       Owner:              
        Type:  bug               |      Status:  new         
    Priority:  highest           |   Milestone:  7.6.1       
   Component:  Compiler          |     Version:  7.5         
    Keywords:                    |          Os:  Windows     
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown
  Difficulty:  Unknown           |    Testcase:              
   Blockedby:                    |    Blocking:              
     Related:                    |  
---------------------------------+------------------------------------------
 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
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5864>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to