Skip to content

relocation R_X86_64_PC32 against undefined symbol (from Data.Array.Parallel) while building GHC in quickest flavour

I followed “First steps” section in 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.

Edited by Artem Pelenitsyn
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information