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