Ticket #1103 (closed defect: fixed)

Opened 9 years ago

Last modified 8 years ago

Not in scope: type constructor or class `CUInt'

Reported by: guest Owned by: somebody
Priority: normal Milestone:
Component: general (Gtk+, Glib) Version: 0.9.12
Keywords: Cc: dufresnep@…


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- -package bytestring- -package glib- -package-name gstreamer- '-#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.

Not in scope: type constructor or class `CUInt'
make[1]: *** [gstreamer/Media/Streaming/GStreamer/Core/GObjectHierarchy.o] Fehler 1
rm soegtk/Graphics/SOE/Gtk.hs svgcairo/Graphics/Rendering/Cairo/SVG.hs
make[1]: 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.
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

Change History

Changed 9 years ago by guest

  • cc dufresnep@… added

Changed 9 years ago by axel

  • status changed from new to closed
  • resolution set to fixed

I can't claim that I have done much with gstreamer yet and I definitely haven't compiled it on a 32bit platform. So your observation about insufficient imports is probably correct. I changed the two hierarchy files to import all types from the C module which hopefully works. In darcs now.

I'll close this ticket, please tell me if it doesn't work. thanks, Axel.

Changed 8 years ago by Alvaro

Why don't you ever enter any CONTESTS, Marvin?? Don't you know your own ZIPCODE? viagra prezzo online fioricet net viagra levitra cialis order cheap tramadol online

Changed 8 years ago by Alvaro

Note: See TracTickets for help on using tickets.