[Gtk2hs-users] cairo error: ghc.exe: unable to load package `cairo-0.12.0'

Daniel Kahlenberg d.kahlenberg at googlemail.com
Tue Apr 5 11:13:08 CEST 2011

Hi again,

I can't get my head around one question: On one side I can install
gtk2hs with the workaround from
http://hackage.haskell.org/trac/gtk2hs/ticket/1203 applied. When I run
ghc-pkg list the packages are listed as installed and I can compile
some demo apps - apart from the mentioned package load error in ghci -
using them, BUT...

... when I try cabal install threadscope (as an example package
depending on gtk2hs) it complains about cairo etc. not being installed
and tries to re-install it on-the-fly failing due to whats described
her: http://hackage.haskell.org/trac/gtk2hs/ticket/1203! As opposed to
when I'm using the stepwise approach of cabal unpack first, then cabal
configure etc.

Also I found two slightly similar looking questions on the list, but
again I don't feel skilled enough to make best use of them, maybe they
help any other



2011/4/4 Axel Simon <Axel.Simon at in.tum.de>:
> Hi Daniel,
> On 04.04.2011, at 16:01, Daniel wrote:
>> Hi list,
>> I've built gtk2hs successfully for ghc-7.0.2, but if I try to load the
>> example
>> Drawing.hs from the cairo packages demo folder I get:
>> *Main> :load Drawing.hs
>> [1 of 1] Compiling Main             ( Drawing.hs, interpreted )
>> Ok, modules loaded: Main.
>> *Main> main
>> Loading package transformers- ... linking ... done.
>> Loading package mtl- ... linking ... done.
>> Loading package array- ... linking ... done.
>> Loading package containers- ... linking ... done.
>> Loading package process- ... linking ... done.
>> Loading package time- ... linking ... done.
>> Loading package random- ... linking ... done.
>> Loading package haskell98- ... linking ... done.
>> Loading package cairo-0.12.0 ... linking ... <interactive>:
>> C:/users/daniel/appd
>> ata/roaming/cabal\cairo-0.12.0\ghc-7.0.2\HScairo-0.12.0.o: unknown
>> symbol `_cair
>> o_image_surface_get_data'
>> ghc.exe: unable to load package `cairo-0.12.0'
>> Have tried many things so far:
>> * Starting with re-inited package database
>> * Doing a $ nm /h/Gtk+/bin/libcairo-2.dll | grep -i
>> cairo_image_surface_get_data
>> yielding 68de04d8 T _cairo_image_surface_get_data
>> * Temporarily renaming libcairo-2.dll (the only one found on my setup,
>> even
>> not-in-PATH ones are non-existent) yielding as expected "dll not found"
>> error
>> * as you can see there is no "literal" space in the gtk+ installation path
>> (h:\Gtk+), only in the users haskell package installation path, but that's
>> fairly standard with Windows I guess
>> * Compilable with ghc --make ... though, but that's sadly not sufficient
>> as
>> Chart package isn't installable due to this issue
> If ghc --make works but interactively the object cannot be found, then it
> might be a ghc problem rather than ours, especially since the symbol exists
> in the DLL. Can somebody from the ghc group shed some light on the issue?
> Cheers,
> Axel

More information about the Glasgow-haskell-users mailing list