Ticket #1103 (closed defect: fixed)
Not in scope: type constructor or class `CUInt'
|Reported by:||guest||Owned by:||somebody|
|Component:||general (Gtk+, Glib)||Version:||0.9.12|
I have made a package for getting and installing Gtk2HS from darcs (gtk2hs-darcs), on Arch Linux. Someone is reporting to me this:
usr/bin/ghc +RTS -RTS -split-objs -c gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.hs -o gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.o -O -fffi -igstreamer -package-conf package.conf.inplace -hide-all-packages -ignore-package gstreamer -package base -package haskell98 -package mtl-188.8.131.52 -package bytestring-0.9.0.1 -package glib-0.9.12.2 -package-name gstreamer-0.9.12.2 '-#include<gstreamer/hsgstreamer.h>' -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I. gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.chs:73:30: Not in scope: type constructor or class `CUInt' make: *** [gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.o] Fehler 1 rm soegtk/Graphics/SOE/Gtk.hs svgcairo/Graphics/Rendering/Cairo/SVG.hs make: Leaving directory `/home/haawda/abs/gtk2hs-darcs/src/gtk2hs' make: *** [all] Fehler 2 ==> FEHLER: Build fehlgeschlagen. Breche ab ...
And I responded him with:
I think I may know what is going on, but I just can't believe no developer of gtk2hs is having gstreamer, and a 32 bits system. ;-) gtk2hs is using c2hs, to make a .hs file from .chs, by consulting C headers files. gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.chs choose to import only CULong, because on the author system (which must have 64 bits), this is what the C file header return. But because you have 32 bits (correct me if I am wrong), your C header file return a 32 bit value, so CUInt must be imported too. So you would have to make a new clean install, but stop the system after darcs got src installed. Then edit in gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.chs to remove '(CULong)' on the following line: import Foreign.C.Types (CULong) that way, it will import all the types, CUInt included. Or just make it '(CULong,CUInt)'. I am new to Arch, new to Haskell, and new to Gtk2HS, so I may be out of track however.
Not sure I am Ok, and a developer could verify if there is other files like this. The package can be found http://aur.archlinux.org/packages.php?do_Details=1&ID=14976&O=0&L=0&C=0&K=gtk2hs&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd