[GHC] #10458: GHCi fails to load shared object (the 'impossible' happened)
GHC
ghc-devs at haskell.org
Thu May 28 03:14:45 UTC 2015
#10458: GHCi fails to load shared object (the 'impossible' happened)
-----------------------------------------+---------------------------------
Reporter: rleslie | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: GHCi | Version: 7.10.1
Keywords: | Operating System: Linux
Architecture: x86_64 (amd64) | Type of failure: None/Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-----------------------------------------+---------------------------------
I have a project that uses two external libraries, namely `-lcrypt` and
`-lpcre`. Building with `cabal` and running the resulting executable works
as expected, but I'm having trouble starting a REPL in GHCi:
{{{
% cabal repl
Preprocessing executable 'etamoo' for EtaMOO-0.2.1.0...
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help
/usr/bin/ld: dist/build/etamoo/etamoo-tmp/src/cbits/crypt.o: relocation
R_X86_64_PC32 against undefined symbol `crypt' 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
}}}
The error suggests I need `-fPIC`, and this seems to help the `-lcrypt`
case, but now I get:
{{{
% cabal repl --ghc-options="-fPIC"
Preprocessing executable 'etamoo' for EtaMOO-0.2.1.0...
GHCi, version 7.10.1: http://www.haskell.org/ghc/ :? for help
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.1 for x86_64-unknown-linux):
Loading temp shared object failed:
/tmp/ghc21539_0/libghc21539_2.so: undefined symbol: pcre_callout
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
FYI the C type of `pcre_callout` is a little unusual:
{{{
extern int (*pcre_callout)(pcre_callout_block *);
}}}
In other words it is a global variable (pointer to function), not a
function itself.
Any advice is welcome, including the proper way to start GHCi given these
external dependencies, as well as on this apparent bug.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10458>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list