Tengo un problema con ghci + cairo en windows. Cuando intento cargar, por ejemplo como este "Cairo ghci -package de" falla con el siguiente error:Haskell, GHC, win32, cairo
Loading package random-1.0.0.2 ... linking ... done. Loading package haskell98 ... linking ... done. Loading package syb-0.1.0.2 ... linking ... done. Loading package base-3.0.3.2 ... linking ... done. Loading package mtl-1.1.0.2 ... linking ... done. : C:\Users\alexeys\AppData\Roaming\cabal\cairo-0.12.0\ghc-6.12.3\HScairo-0.12.0.o: unknown symbol `_cairo_surface_destroy' Loading package cairo-0.12.0 ... linking ... : unable to load package `cairo-0.12.0'
Incluso los programas más simples no funcionan en modo interactivo, como por ejemplo 'Text.hs' que viene con el paquete de cairo Sin embargo compiló con 'ghc --make' todo funciona como se esperaba, por lo que no es un problema de "falta dll": todo está en su lugar.
Utilicé 'filemon' para ver qué carga "ghci" y en el registro puedo ver 'libcairo-2.dll' (y esta biblioteca tiene el símbolo '_cairo_surface_destroy' definido) que se encuentra y se carga con éxito, por lo que Realmente entiendo, ¿qué más quiere?
¿Quizás sea un problema de "subprocesamiento"? Hubo un hilo reciente de Haskell-cafe sobre la biblioteca de gráficos SOE que muestra un comportamiento similar "Código de Haskell School of Expression Hanging" - http://www.haskell.org/pipermail/haskell-cafe/2011- enero/88697.html. Lo siento, no sé la resolución. –
¿Por casualidad libcairo-2.dll está en una ubicación con espacios en la ruta? También podría publicar qué versión de ghci está utilizando (esto parece un error de enlazador en cualquier caso). –
Podría ser un desajuste 'stdcall' /' ccall'. ¿El nombre del símbolo en el DLL tiene un sufijo como '@ 4'? –