From peter.denno at nist.gov Sat Jan 29 02:26:50 2005 From: peter.denno at nist.gov (Peter Denno) Date: Fri, 28 Jan 2005 21:26:50 -0500 Subject: [cells-gtk-devel] Lispworks Linux / SuSE 9.2 Message-ID: <200501282126.50470.peter.denno@nist.gov> Hi, FWIW, the demo seems to work on LWL 4.4. (I have only started investigating cells-gtk an hour ago, so maybe this is common knowledge, but I don't see it in the mail list archive.) On my SuSE 9.2 machine I did a little adjusting to find the libraries. 1) In gtk-ffi/gtk-ffi.lisp defun libname drop the ".so" in the names: #-(or macosx win32 mswindows) (ecase lib (:gobject "libgobject-2.0") ; was "libgobject-2.0.so" etc. (:glib "libglib-2.0") (:gthread "libgthread-2.0") (:gdk "libgdk-x11-2.0") (:gtk "libgtk-x11-2.0"))) 2) in cells-gtk/gtk-app.lisp defun cells-gtk-init change "/usr/lib/" to "/opt/gnome/lib/" 3) > cd /opt/gnome/lib > ln -s libgthread-2.0.so.0 libgthread-2.0.so > ln -s libglib-2.0.so.0 libglib-2.0.so > ln -s libgobject-2.0.so.0 libgobject-2.0.so > ln -s libgdk-x11-2.0.so.0 libgdk-x11-2.0.so > ln -s libgtk-x11-2.0.so.0 libgtk-x11-2.0.so Cells-gtk looks REALLY NICE! -- Best Regards, - Peter Peter Denno National Institute of Standards and Technology, Manufacturing System Integration Division, 100 Bureau Drive, Mail Stop 8264 Tel: +1 301-975-3595 Gaithersburg, MD, USA 20899-8264 FAX: +1 301-975-4694 From ktilton at nyc.rr.com Sun Jan 30 05:07:02 2005 From: ktilton at nyc.rr.com (Kenny Tilton) Date: Sun, 30 Jan 2005 00:07:02 -0500 Subject: [cells-gtk-devel] Lispworks Linux / SuSE 9.2 In-Reply-To: <200501282126.50470.peter.denno@nist.gov> References: <200501282126.50470.peter.denno@nist.gov> Message-ID: <41FC6B76.4010005@nyc.rr.com> Peter Denno wrote: >Hi, > >FWIW, the demo seems to work on LWL 4.4. (I have only started investigating >cells-gtk an hour ago, so maybe this is common knowledge, but I don't see it >in the mail list archive.) > Yeah, that might be a first. Thx. > >On my SuSE 9.2 machine I did a little adjusting to find the libraries. > >1) In gtk-ffi/gtk-ffi.lisp defun libname drop the ".so" in the names: > > #-(or macosx win32 mswindows) > (ecase lib > (:gobject "libgobject-2.0") ; was "libgobject-2.0.so" etc. > (:glib "libglib-2.0") > (:gthread "libgthread-2.0") > (:gdk "libgdk-x11-2.0") > (:gtk "libgtk-x11-2.0"))) > > >2) in cells-gtk/gtk-app.lisp defun cells-gtk-init change "/usr/lib/" to >"/opt/gnome/lib/" > OK, I will give these a try. I think the find library function takes a list, I might change the code to try both. > >3) > > >>cd /opt/gnome/lib >>ln -s libgthread-2.0.so.0 libgthread-2.0.so >>ln -s libglib-2.0.so.0 libglib-2.0.so >>ln -s libgobject-2.0.so.0 libgobject-2.0.so >>ln -s libgdk-x11-2.0.so.0 libgdk-x11-2.0.so >>ln -s libgtk-x11-2.0.so.0 libgtk-x11-2.0.so >> >> How is this a third change? >Cells-gtk looks REALLY NICE! > Cool. Plz do not hesitate to ask if you get stuck on a Cells issue. For now, I am afraid I am the doc on that. :) kenny From peter.denno at nist.gov Sun Jan 30 18:48:55 2005 From: peter.denno at nist.gov (Peter Denno) Date: Sun, 30 Jan 2005 13:48:55 -0500 Subject: [cells-gtk-devel] Lispworks Linux / SuSE 9.2 In-Reply-To: <41FC6B76.4010005@nyc.rr.com> References: <200501282126.50470.peter.denno@nist.gov> <41FC6B76.4010005@nyc.rr.com> Message-ID: <200501301348.55451.peter.denno@nist.gov> On Sunday 30 January 2005 00:07, Kenny Tilton wrote: > >>cd /opt/gnome/lib > >>ln -s libgthread-2.0.so.0 libgthread-2.0.so > >>ln -s libglib-2.0.so.0 libglib-2.0.so > >>ln -s libgobject-2.0.so.0 libgobject-2.0.so > >>ln -s libgdk-x11-2.0.so.0 libgdk-x11-2.0.so > >>ln -s libgtk-x11-2.0.so.0 libgtk-x11-2.0.so > >> ? ? > > How is this a third change? It doesn't change your code, of course. It's just a note to others who might try cells-gtk on SuSE. Same goes for the /usr/lib --> /opt/gnome/lib comment, I suppose. > > >Cells-gtk looks REALLY NICE! ? > > Cool. Plz do not hesitate to ask if you get stuck on a Cells issue. For > now, I am afraid I am the doc on that. :) OK. My first question: Is this code running mp:without-scheduling, or something like it? (grepping, it appears not). In my code, when a callback attempts a mp:process-run-function, the function doesn't start until I kill the cells-gtk window. Hmmm... In fact, I don't get the listener back until after I kill the cells-gtk window, even when I start the gui with: (mp:process-run-function (format nil "Ion Version ~A" *m-version*) () #'(lambda () (cells-gtk-init) (cells-gtk:start-app 'cgui :debug dbg))) -- Best Regards, - Peter Peter Denno National Institute of Standards and Technology, Manufacturing System Integration Division, 100 Bureau Drive, Mail Stop 8264 Tel: +1 301-975-3595 Gaithersburg, MD, USA 20899-8264 FAX: +1 301-975-4694 From ktilton at nyc.rr.com Sun Jan 30 22:54:42 2005 From: ktilton at nyc.rr.com (Kenny Tilton) Date: Sun, 30 Jan 2005 17:54:42 -0500 Subject: [cells-gtk-devel] Lispworks Linux / SuSE 9.2 In-Reply-To: <200501301348.55451.peter.denno@nist.gov> References: <200501282126.50470.peter.denno@nist.gov> <41FC6B76.4010005@nyc.rr.com> <200501301348.55451.peter.denno@nist.gov> Message-ID: <41FD65B2.4060904@nyc.rr.com> Peter Denno wrote: > >OK. My first question: Is this code running mp:without-scheduling, or >something like it? (grepping, it appears not). In my code, when a callback >attempts a mp:process-run-function, the function doesn't start until I kill >the cells-gtk window. Hmmm... In fact, I don't get the listener back until >after I kill the cells-gtk window, even when I start the gui with: > >(mp:process-run-function > (format nil "Ion Version ~A" *m-version*) () > #'(lambda () > (cells-gtk-init) > (cells-gtk:start-app 'cgui :debug dbg))) > > > OK, I see at least that the AllegroCL IDE is not responsive after control is given to gtk-main. I imagine this explains also why mp:process-run-function does not work (or help when used to spawn the demo originally). I am using ACL 6.2 on win32 which is documented as using native OS threads, so I am not sure why gtkMain is blocking the other ACL IDE windows. I do find that a break statement within a callback gets me to the debugger and then all IDE windows are responsive, for what little that is worth. One ugly workaround I used in the same situation with the OpenGL GLUT application framework was to call glutMainLoopEvent repeatedly instead of giving up control to glutMainLoop with one call. i would then sleep 0.05 seconds in the loop, which gave ACL a chance to process events for IDE windows. It seemed, btw, that if I set the sleep duration too low (such as 0.03) the trick stopped working. I just looked at Gtk main documentation: http://developer.gnome.org/doc/API/2.0/gtk/gtk-General.html#gtk-main It looks as if a similar hack is possible, perhaps involving gtk_main_iteration_do. of course I am only guessing that this will even work, and there may be a simpler fix. if you want to try this approach and code something up and have problems, send me what you come up with and I will try to find time to look at it. cheers, kenny -- Cells? Cello? Cells-Gtk?: http://www.common-lisp.net/project/cells/ Why Lisp? http://lisp.tech.coop/RtL%20Highlight%20Film "Doctor, I wrestled with reality for forty years, and I am happy to state that I finally won out over it." -- Elwood P. Dowd