
#9762: #8696 + #9012 -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.3 Resolution: | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: | Blocked By: None/Unknown | Related Tickets: #8696, #9012 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by nh2): Some discussion from #ghc for readers who'd like context: '''nh2''': thoughtpolice, '''rwbarton''': I am getting the "recompile with -fPIC" message in my `ghc -M` based setup, which you discussed in https://ghc.haskell.org/trac/ghc/ticket/8696. If I get this message, does it really mean that I need -fPIC or that I'm calling something wrong? '''rwbarton''': you probably don't want -fPIC specifically, but rather whichever one of -shared and -dynamic is the one you want '''rwbarton''': however, we can't know without more context '''rwbarton''': or possibly something is just broken :) '''nh2''': so, in the end I don't want any dynamic linking at all, but I understand it that I need some form of it for GHCI to load modules during TH evaluation, right? carter: yeah '''rwbarton''': yes carter: at least for onw carter: i think luite got his TH patch ready? '''nh2''': so I'm not sure which one of -shared and -dynamic I want for ghci to "just work" '''rwbarton''': you will need to build both ways '''nh2''': so I'm already compiling with -dynamic-too; in this case, what do I have to add? '''rwbarton''': well then we need to see a real error '''nh2''': http://lpaste.net/113689 '''rwbarton''': oh, and you are using hpc too '''rwbarton''': I thought I fixed this... '''rwbarton''': what version of ghc? '''rwbarton''': that should be fixed in 7.8.3 I think '''nh2''': 7.8.3, unfortunately '''rwbarton''': hm '''rwbarton''': oh, right '''rwbarton''': I knew about this when I fixed it :) '''rwbarton''': but I wrote the test in the same form as the surrounding code '''rwbarton''': hpc and TH won't interact well currently '''rwbarton''': I think you are one of 3 people to use HPC '''nh2''': we are a 4 person team '''nh2''': define "won't interact well" between [works if you disable it somehow for the libs loaded in ghci .... and .... you got no chance] :) '''rwbarton''': basically your bug is the bastard child of #9012 and #8696 '''rwbarton''': well if you could build the dynamic objects without HPC then it should work '''nh2''': do you reckon there is also a full solution to this? Also, is this now a bug, should I file one? '''rwbarton''': there's a bunch of trivial fixes to every individual problem of this form '''rwbarton''': each one also costs a little performance in the associated situation '''rwbarton''': I guess if you are building with hpc then you don't care about this level of overhead '''nh2''': is there a way to tell the -dynamic-too invocation that I don't want HPC only for the dynamic files? Or will I have to stop using -dynamic-too and create the dynamic ones manually to achieve that? '''rwbarton''': but really we should find a better way to deal with the underlying issue, since it does cost a measurable amount of performance on anything built dynamically '''rwbarton''': probably the latter -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9762#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler