Ticket #2615 (closed bug: fixed)
ghci doesn't play nice with linker scripts
| Reported by: | AlecBerryman | Owned by: | hgolden |
|---|---|---|---|
| Priority: | high | Milestone: | 6.12.3 |
| Component: | GHCi | Version: | 7.0.3 |
| Keywords: | dlopen, dynamic linking | Cc: | maeder, fasta, slyfox, ghc@… |
| Operating System: | Linux | Architecture: | Unknown/Multiple |
| Type of failure: | Incorrect result at runtime | Difficulty: | Unknown |
| Test Case: | Blocked By: | ||
| Blocking: | Related Tickets: |
Description
I'm trying to use HsHyperEstraier? with ghci. I can compile and run the included examples, but when I run them in ghci, I see:
$ ghci GHCi, version 6.8.3: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude> :l HelloWorld.hs [1 of 1] Compiling Main ( HelloWorld.hs, interpreted ) Ok, modules loaded: Main. *Main> main [...] Loading package HsHyperEstraier-0.2.1 ... can't load .so/.DLL for: c (/usr/lib/libc.so: invalid ELF header)
I see a similar error message if I specify '-package HsHyperEstraier?' on the command line.
I did some looking and came up with these messages:
http://www.haskell.org/pipermail/glasgow-haskell-users/2004-May/006632.html http://www.nabble.com/RE:-idea-to-allow-ghci-to-use-a-different-libs-list-p1830432.html
Debian's /usr/lib/libc.so is indeed a GNU linker script, not an actual shared library. If I remove all the libraries in HsHyperEstraier?'s ~/.ghc/.../package.conf that are linker scripts (pthreads and c), it loads up fine.
Could ghci either recognize or ignore linker scripts?

