
#9302: relocation R_X86_64_PC32 against undefined symbol (from Data.Array.Parallel) while building GHC in quickest flavour -------------------------------------+------------------------------------- Reporter: | Owner: ulysses4ever | Status: new Type: bug | Milestone: Priority: normal | Version: Component: Build | Keywords: System | Operating System: Linux Resolution: | Type of failure: Building GHC Differential Revisions: | failed Architecture: | Test Case: Unknown/Multiple | Blocking: Difficulty: Unknown | Blocked By: | Related Tickets: | -------------------------------------+------------------------------------- Old description:
I followed “First steps” section in [https://ghc.haskell.org/trac/ghc/wiki/Newcomers Newcomers guide] to build GHC from sources (got via git-clone) on Ubuntu 14.04 (amd64). During the last step (make) it comes to the error:
{{{ /usr/bin/ld: libraries/dph/dph-lifted-copy/dist- install/build/Data/Array/Parallel/Prelude/Bool.dyn_o: relocation R_X86_64_PC32 against undefined symbol `dphzmliftedzmcopyzm0zi8zi0zi1_DataziArrayziParallelziPreludeziBool_andPzuv_closure' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status }}}
I tried to just the same under Lubuntu 13.04 (i386) and got just the same type of error on relocation (now for R_386_GOTOFF symbol) in the same module (Data.Array.Parallel).
The only substantial change I did to the manual is setting BuildFlavour = quickest instead of BuildFlavour = quick. And it seems '''to be the cause'''. The error disappears when switch to quick flavour.
Other related bug might be #9007.
New description: I followed “First steps” section in [https://ghc.haskell.org/trac/ghc/wiki/Newcomers Newcomers guide] to build GHC from sources (got via git-clone) on Ubuntu 14.04 (amd64). During the last step (make) it comes to the error: {{{ /usr/bin/ld: libraries/dph/dph-lifted-copy/dist- install/build/Data/Array/Parallel/Prelude/Bool.dyn_o: relocation R_X86_64_PC32 against undefined symbol `dphzmliftedzmcopyzm0zi8zi0zi1_DataziArrayziParallelziPreludeziBool_andPzuv_closure' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status }}} I tried to just the same under Lubuntu 13.04 (i386) and got just the same type of error on relocation (now for R_386_GOTOFF symbol) in the same module (Data.Array.Parallel). The only substantial change I did to the manual is setting BuildFlavour = quickest instead of BuildFlavour = quick. And it seems '''to be the cause'''. The error disappears when switch to quick flavour. -- Comment (by ulysses4ever): Ok, remove link to #9007 and thank's for the workaround. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9302#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler