Simon Marlow <marlo...@gmail.com> writes: > On 19/04/2010 15:09, Andy Stewart wrote: >> 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<------------------------------ > > Ah, so you're saying I can close that ticket? Yes, you can close this ticket. I think this is not bug of GHC, it's problem of `forkProcess` implementation. Because `forkProcess` is not a safe function to spawn process.
I'm developing Haskell Application Platform (multi-processes framework with DBus), i use `runProcess` spawn child process, i test it with GHC-6.12 everyday, works perfect. Please attach my notes when you close ticket, then other people won't get same trouble with `forkProcess`. > >>> 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. > > Great to hear that, I look forward to it! Yes, cabalized version is cool, that's mean Windows and Mac can install gtk2hs easily. 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