How to force -fPIC on package builds?

Dominick Samperi djsamperi at gmail.com
Sat Aug 13 03:55:48 UTC 2016


Hello,

I am getting relocation errors when building an executable
(specifically, the "H"
executable -- part of haskellR) under Fedora Linux, and the message says to
"recompile with -fPIC".

The FAQ associated with H suggests that I switch to the gold linker
(ld.gold) due to bugs in the default linker (ld.bfd), but this only
changes the wording of the relocation error messages.

I have tried several strategies for satisfying the -fPIC requirement:
1. In cabal files I insert cc-options: and ghc-options: lines including -fPIC
2. To the 'cabal install' command line I add:
    --ghc-option=-fPIC --hsc2hs-option=-cflag=-fPIC
3. When building ghc 8.0.1 from source I modify config.mk by including:
   CONF_CC_OPTS += -fPIC
   SRC_HSC2HS_OPTS += --cflag=-fPIC
   CONF_CC_OPTS_STAGE0 = -fno-stack-protector -fPIC
   [same for STAGE1 and STAGE2]

All of this doesn't fix the problem, and the error messages still say
"recompile with -fPIC".

This may be a bug, but I'm not sure where. Any ideas?

Thanks,
Dominick


More information about the ghc-devs mailing list