Opened 2 years ago

Closed 2 years ago

#9909 closed bug (duplicate)

Linker error (TemplateHaskell + HPC?)

Reported by: dcturner Owned by:
Priority: normal Milestone:
Component: Compiler Version: 7.8.3
Keywords: Cc:
Operating System: Linux Architecture: x86_64 (amd64)
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: #9762 Differential Rev(s):
Wiki Page:

Description

I'm getting the following error message when compiling a Yesod application (which uses Template Haskell rather a lot) with -fhpc:

/usr/bin/ld: ./Foundation.dyn_o: relocation R_X86_64_PC32 against undefined symbol `_hpc_tickboxes_Settings_hpc' can not be used when making a shared object; recompile with -fPIC

Steps to reproduce:

  1. Run yesod init to make a new scaffold. Call it testsite and

select simple for no database.

  1. Run:
cd testsite
ghc --make app/main.hs  -XTemplateHaskell -XCPP -XOverloadedStrings -XMultiParamTypeClasses -XTypeFamilies -XQuasiQuotes -fhpc -O1

Running the ghc line again completes successfully.

It seems that there is a missing ./Settings.dyn_o in the gcc command line that ghc calls, the first time through. It's there the second time so the link succeeds. No idea what that might mean.

It's not a problem at -O0.

I'm using 7.8.3 so this might be fixed now.

Change History (2)

comment:1 Changed 2 years ago by dcturner

Architecture: Unknown/Multiplex86_64 (amd64)
Operating System: Unknown/MultipleLinux

comment:2 Changed 2 years ago by rwbarton

Resolution: duplicate
Status: newclosed

Thanks for the report. This looks like the same issue as #9762.

Note: See TracTickets for help on using tickets.