Hi Simon, Simon Marlow <marlo...@gmail.com> writes: > On 09/04/2010 17:14, Axel Simon wrote: >> >> On 09.04.2010, at 17:13, Simon Marlow wrote: >> >>> On 09/04/2010 16:01, Simon Marlow wrote: >>> >>>> Now I have a different problem: >>>> >>>> /home/simonmar/fp/bin/x86_64-unknown-linux/ghc-6.12.1.20100330 +RTS -RTS >>>> -c soegtk/Graphics/SOE/Gtk.hs -o soegtk/Graphics/SOE/Gtk.o -O -isoegtk >>>> -package-conf package.conf.inplace -hide-all-packages -ignore-package >>>> soegtk -package base-4.2.0.1 -package old-time-1.0.0.4 -package >>>> mtl-1.1.0.2 -package glib-0.10.1 -package gtk-0.10.1 -package >>>> cairo-0.10.1 -package-name soegtk-0.10.1 '-#include<gtk/hsgtk.h>' >>>> -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include >>>> -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 >>>> -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 >>>> -I/usr/lib64/gtk-2.0/include -I/usr/include/cairo -I/usr/include/atk-1.0 >>>> -I. >>>> <command line>: cannot satisfy -package gtk-0.10.1: >>>> gtk-0.10.1 is unusable due to missing or recursive dependencies: >>>> gio-0.10.1 >>>> (use -v for more information) >>>> make[1]: *** [soegtk/Graphics/SOE/Gtk.o] Error 1 >>>> >>>> I presume I need to build gio, and it's not being built because I don't >>>> have the development library installed? >>> >>> Having poked around a bit more, I see that >>> >>> - configure.ac wants gio >= 2.16.4 to enable gio support >>> - gtk now depends on gio >>> - this distro (Fedora 9) only provides gio 2.16.3 >>> >>> So I'm out of luck. Looks like some updates to the configure script are >>> needed so this fails a bit earlier though? >>> >> >> Ok, so gio is fairly new and we should probably try to make Gtk build >> without it. As far as I understand, there are only a few data types that >> GIO uses and which are also used by Gtk. If that is the sole reason that >> gtk depends on gio, then maybe we can conditionally compile those gtk >> functions that use the gio data types. >> >> Thanks Simon for bearing with us. I really want to keep Gtk2Hs compiling >> against every release of Gtk+ starting from 2.8 (which is where Cairo >> was introduced). > > I've been away for a week, and I see there is much upheaval in the gtk2hs > camp. I really wanted to > get gtk2hs built with GHC 6.12.1 so that I could investigate Andy's bug with > forkProcess > > http://hackage.haskell.org/trac/ghc/ticket/3918 I have found why, below is notes i wrote in `gtk2hs/demo/embedded/Notes.txt` :
------------------------------> Notes start <------------------------------ If you use GtkSocket/GtkPlug with multi-processes framework. DON'T use function `forkProcess` to spawn process! Because `forkProcess` just simple call C `fork`, haven't any protection, then two processes will got *race condition*, you will get X Window error (such as `BadWindow`) when those two processes try to access same X resource. So use `runProcess` or `runCommand` instead. Above two functions add MVar lock when spawn processes (call c_runInteractiveProcess) to make sure two processes won't get *race condition* problem on X resource. ------------------------------> Notes end <------------------------------ > > I can't use the latest release of gtk2hs because it doesn't work with GHC > 6.12.x. So if anyone has > any advice, please let me know! Axel has working on cabalized version, i think he will release it very soon. Cheers, -- Andy ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Gtk2hs-devel mailing list Gtk2hs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel