Link errors when using the GHC API

Christian Maeder maeder at tzi.de
Thu Oct 12 04:40:19 EDT 2006


The binary distribution

http://www.haskell.org/ghc/dist/6.6/ghc-6.6-i386-unknown-linux.tar.bz2

does not contain libHSghc.*

So I get:

Loading package ghc-6.6 ... ghc-6.6: can't load .so/.DLL for: HSghc
(libHSghc.so: cannot open shared object file: No such file or directory)

C.

Bas van Dijk schrieb:
> Dear GHC hackers,
> 
> I would like to experiment with the GHC API. However I get link errors when 
> using it. For example:
> 
> ---------------------------------------------------------------------
> $ ghci -package ghc
>    ___         ___ _
>   / _ \ /\  /\/ __(_)
>  / /_\// /_/ / /  | |      GHC Interactive, version 6.6, for Haskell 98.
> / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
> \____/\/ /_/\____/|_|      Type :? for help.
> 
> Loading package base ... linking ... done.
> Loading package template-haskell ... linking ... done.
> Loading package readline-1.0 ... linking ... done.
> Loading package unix-1.0 ... linking ... done.
> Loading package Cabal-1.1.6 ... linking ... done.
> Loading package regex-base-0.71 ... linking ... done.
> Loading package regex-posix-0.71 ... linking ... done.
> Loading package regex-compat-0.71 ... linking ... done.
> Loading package haskell98 ... linking ... done.
> ghc-6.6: /usr/lib/ghc-6.6/HSghc.o: unknown symbol 
> `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> Loading package ghc-6.6 ... linking ... ghc-6.6: unable to load package 
> `ghc-6.6'
> ---------------------------------------------------------------------
> 
> I also get this when compiling for example the following module testGHC.hs:
> 
> ---------------------------------------------------------------------
> module Main where
> 
> import qualified GHC
> import DynFlags (defaultDynFlags)
> 
> main = GHC.defaultErrorHandler defaultDynFlags $ putStrLn "Hello World"
> ---------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> $ ghc -package ghc --make testGHC
> [1 of 1] Compiling Main             ( testGHC.hs, testGHC.o )
> Linking testGHC ...
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o): In function `r6iZ_info':
> : undefined reference to 
> `Cabalzm1zi1zi6_LanguageziHaskellziExtension_optional_info'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o): In function `s6r9_info':
> : undefined reference to 
> `Cabalzm1zi1zi6_LanguageziHaskellziExtension_zdwshowsPrec_info'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o): In function `s6sJ_info':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziCompiler_lvl31_info'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o): In function `s6sN_info':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziCompiler_zddEq_closure'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o): In function `s6ID_0_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziCompiler_polyzugo_info'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o): In function `s6IG_0_alt':
> : undefined reference to 
> `Cabalzm1zi1zi6_DistributionziCompiler_polyzugo1_info'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o):(.rodata+0x0): undefined reference 
> to `Cabalzm1zi1zi6_LanguageziHaskellziExtension_optional_closure'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o):(.rodata+0x1cc): undefined reference 
> to `Cabalzm1zi1zi6_LanguageziHaskellziExtension_zdwshowsPrec_closure'
> /usr/lib/ghc-6.6/libHSghc.a(HeaderInfo.o):(.rodata+0x1dc): undefined reference 
> to `Cabalzm1zi1zi6_DistributionziCompiler_lvl31_closure'
> /usr/lib/ghc-6.6/libHSghc.a(PackageConfig.o): In function `s23t_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Packages.o): In function `s77S_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Packages.o): In function `s79E_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Packages.o): In function `s7i7_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Packages.o): In function `s7vI_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Packages.o): In function `s7yi_info':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_zeze_info'
> /usr/lib/ghc-6.6/libHSghc.a(Packages.o): In function `s7GC_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Linker.o): In function `s8TZ_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Linker.o): In function `s8Vv_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> /usr/lib/ghc-6.6/libHSghc.a(Finder.o): In function `s7l2_1_alt':
> : undefined reference to `Cabalzm1zi1zi6_DistributionziPackage_a_closure'
> collect2: ld returned 1 exit status
> ---------------------------------------------------------------------
> 
> I would like to know what is causing this and how I can fix it? Also, should I 
> file a bugreport?
> 
> Greetings,
> 
> Bas van Dijk


More information about the Glasgow-haskell-users mailing list