I'm on Ubuntu 11.04, and using guile v2.0.1-53-g8f6a4b2. I've compiled and installed guile-gnome-platform using the newest available. The gnome code compiled and installed okay, but when I try to run a program using it, it crashes compiling scheme code in /usr/local/share.
[jsparkes ~]$ guile-gnome-2 ~/toolbar.scm ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/jsparkes/toolbar.scm ;;; compiling /usr/local/share/guile-gnome-2/gnome/gobject.scm ;;; compiling /usr/local/share/guile-gnome-2/gnome/gobject/gobject.scm ;;; compiling /usr/local/share/guile-gnome-2/gnome/gobject/gsignal.scm ;;; compiling /usr/local/share/guile-gnome-2/gnome/gobject/gvalue.scm Segmentation fault [jsparkes ~]$ guile-gnome-2 --debug --no-auto-compile ~/toolbar.scm Segmentation fault [jsparkes ~]$ gdb guile core GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-linux-gnu". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/local/bin/guile...done. [New Thread 8947] warning: Can't read pathname for load map: Input/output error. Reading symbols from /usr/local/lib/libguile-2.0.so.22...done. Loaded symbols for /usr/local/lib/libguile-2.0.so.22 Reading symbols from /lib/i386-linux-gnu/libcrypt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libcrypt.so.1 Reading symbols from /lib/i386-linux-gnu/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libm.so.6 Reading symbols from /lib/i386-linux-gnu/libpthread.so.0...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libpthread.so.0 Reading symbols from /lib/i386-linux-gnu/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libc.so.6 Reading symbols from /usr/local/lib/libgc.so.1...done. Loaded symbols for /usr/local/lib/libgc.so.1 Reading symbols from /usr/lib/libffi.so.5...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libffi.so.5 Reading symbols from /lib/i386-linux-gnu/librt.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/librt.so.1 Reading symbols from /usr/lib/libunistring.so.0...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libunistring.so.0 Reading symbols from /usr/lib/libgmp.so.3...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libgmp.so.3 Reading symbols from /usr/lib/libltdl.so.7...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libltdl.so.7 Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/i386-linux-gnu/libdl.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libdl.so.2 Reading symbols from /lib/i386-linux-gnu/libgcc_s.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libgcc_s.so.1 Reading symbols from /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so Reading symbols from /usr/local/lib/libguile-gnome-gobject-2.so.0...done. Loaded symbols for /usr/local/lib/libguile-gnome-gobject-2.so.0 Reading symbols from /usr/lib/i386-linux-gnu/libgobject-2.0.so.0...(no debugging symbols found)...done. Loaded symbols for /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 Reading symbols from /usr/lib/i386-linux-gnu/libgthread-2.0.so.0...(no debugging symbols found)...done. Loaded symbols for /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 Reading symbols from /lib/i386-linux-gnu/libglib-2.0.so.0...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libglib-2.0.so.0 Reading symbols from /usr/lib/libguile.so.17...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libguile.so.17 Reading symbols from /lib/i386-linux-gnu/libpcre.so.3...(no debugging symbols found)...done. Loaded symbols for /lib/i386-linux-gnu/libpcre.so.3 Core was generated by `guile /home/jsparkes/toolbar.scm'. Program terminated with signal 11, Segmentation fault. #0 scm_cell () at /usr/include/libguile/inline.h:127 127 *freelist = SCM_FREE_CELL_CDR (*freelist); (gdb) bt #0 scm_cell () at /usr/include/libguile/inline.h:127 #1 scm_init_gnome_gobject_gc () at gc.c:115 #2 0x00832132 in scm_dynamic_call (func=<value optimized out>, dobj=0x8cf0ea0) at dynl.c:349 #3 0x0082f6c7 in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x88376b0, nargs=0) at vm-i-system.c:901 #4 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x8cc62a0, argv=0x0, nargs=0) at vm.c:565 #5 0x0083112d in scm_load_compiled_with_vm (file=0x8cc62c0) at vm.c:876 #6 0x007bf750 in scm_primitive_load_path (args=0x8ccd0d0) at load.c:878 #7 0x0082f74f in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8837674, nargs=5) at vm-i-system.c:898 #8 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x8a571d0, argv=0xbfd683ac, nargs=5) at vm.c:565 #9 0x00798a64 in scm_call_n (proc=0x8a571d0, argv=0xbfd683ac, nargs=5) at eval.c:526 #10 0x007beb07 in do_try_auto_compile (data=0x8cb04d0) at load.c:712 #11 0x00819ec2 in apply_catch_closure (clo=0x8cb0480, args=0x304) at throw.c:146 #12 0x0082f912 in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x883726c, nargs=3) at vm-i-system.c:966 #13 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x889f7b0, argv=0xbfd688e4, nargs=3) at vm.c:565 #14 0x00798907 in scm_call_3 (proc=0x889f7b0, arg1=0x404, arg2=0x8cb0480, arg3=0x8cb0470) at eval.c:498 #15 0x0081a278 in scm_catch (key=0x404, thunk=0x8cb0480, handler=0x8cb0470) at throw.c:73 #16 0x0081a386 in scm_catch_with_pre_unwind_handler (key=0x404, thunk=0x8cb0480, handler=0x8cb0470, pre_unwind_handler=0x904) at throw.c:81 #17 0x0081a502 in scm_c_catch (tag=0x404, body=0x7bea00 <do_try_auto_compile>, body_data=0x8cb04d0, handler=0x7be890 <auto_compile_catch_handler>, handler_data=0x8cb04d0, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213 #18 0x007bf5f5 in scm_try_auto_compile (args=0x8cbfdb8) at load.c:769 #19 scm_primitive_load_path (args=0x8cbfdb8) at load.c:884 #20 0x0082f74f in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8837218, nargs=5) at vm-i-system.c:898 #21 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x8a571d0, argv=0xbfd68eec, nargs=5) at vm.c:565 #22 0x00798a64 in scm_call_n (proc=0x8a571d0, argv=0xbfd68eec, nargs=5) at eval.c:526 #23 0x007beb07 in do_try_auto_compile (data=0x8c9b050) at load.c:712 #24 0x00819ec2 in apply_catch_closure (clo=0x8c9b000, args=0x304) at throw.c:146 #25 0x0082f912 in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8836e10, nargs=3) at vm-i-system.c:966 #26 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x889f7b0, argv=0xbfd69424, nargs=3) at vm.c:565 #27 0x00798907 in scm_call_3 (proc=0x889f7b0, arg1=0x404, arg2=0x8c9b000, arg3=0x8c9d5a0) at eval.c:498 #28 0x0081a278 in scm_catch (key=0x404, thunk=0x8c9b000, handler=0x8c9d5a0) at throw.c:73 #29 0x0081a386 in scm_catch_with_pre_unwind_handler (key=0x404, thunk=0x8c9b000, handler=0x8c9d5a0, pre_unwind_handler=0x904) at throw.c:81 #30 0x0081a502 in scm_c_catch (tag=0x404, body=0x7bea00 <do_try_auto_compile>, body_data=0x8c9b050, handler=0x7be890 <auto_compile_catch_handler>, handler_data=0x8c9b050, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213 #31 0x007bf5f5 in scm_try_auto_compile (args=0x8ca9340) at load.c:769 #32 scm_primitive_load_path (args=0x8ca9340) at load.c:884 #33 0x0082f74f in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8836dbc, nargs=5) at vm-i-system.c:898 #34 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x8a571d0, argv=0xbfd69a2c, nargs=5) at vm.c:565 #35 0x00798a64 in scm_call_n (proc=0x8a571d0, argv=0xbfd69a2c, nargs=5) at eval.c:526 #36 0x007beb07 in do_try_auto_compile (data=0x8bfd500) at load.c:712 #37 0x00819ec2 in apply_catch_closure (clo=0x8bfd460, args=0x304) at throw.c:146 #38 0x0082f912 in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x88369b4, nargs=3) at vm-i-system.c:966 #39 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x889f7b0, argv=0xbfd69f64, nargs=3) at vm.c:565 #40 0x00798907 in scm_call_3 (proc=0x889f7b0, arg1=0x404, arg2=0x8bfd460, arg3=0x8bfd440) at eval.c:498 #41 0x0081a278 in scm_catch (key=0x404, thunk=0x8bfd460, handler=0x8bfd440) at throw.c:73 #42 0x0081a386 in scm_catch_with_pre_unwind_handler (key=0x404, thunk=0x8bfd460, handler=0x8bfd440, pre_unwind_handler=0x904) at throw.c:81 #43 0x0081a502 in scm_c_catch (tag=0x404, body=0x7bea00 <do_try_auto_compile>, body_data=0x8bfd500, handler=0x7be890 <auto_compile_catch_handler>, handler_data=0x8bfd500, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213 #44 0x007bf5f5 in scm_try_auto_compile (args=0x8c94380) at load.c:769 #45 scm_primitive_load_path (args=0x8c94380) at load.c:884 #46 0x0082f74f in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8836960, nargs=5) at vm-i-system.c:898 #47 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x8a571d0, argv=0xbfd6a56c, nargs=5) at vm.c:565 #48 0x00798a64 in scm_call_n (proc=0x8a571d0, argv=0xbfd6a56c, nargs=5) at eval.c:526 #49 0x007beb07 in do_try_auto_compile (data=0x8bb6220) at load.c:712 #50 0x00819ec2 in apply_catch_closure (clo=0x8bb61d0, args=0x304) at throw.c:146 #51 0x0082f912 in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8836558, nargs=3) at vm-i-system.c:966 #52 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x889f7b0, argv=0xbfd6aaa4, nargs=3) at vm.c:565 #53 0x00798907 in scm_call_3 (proc=0x889f7b0, arg1=0x404, arg2=0x8bb61d0, arg3=0x8bb61b0) at eval.c:498 #54 0x0081a278 in scm_catch (key=0x404, thunk=0x8bb61d0, handler=0x8bb61b0) at throw.c:73 #55 0x0081a386 in scm_catch_with_pre_unwind_handler (key=0x404, thunk=0x8bb61d0, handler=0x8bb61b0, pre_unwind_handler=0x904) at throw.c:81 #56 0x0081a502 in scm_c_catch (tag=0x404, body=0x7bea00 <do_try_auto_compile>, body_data=0x8bb6220, handler=0x7be890 <auto_compile_catch_handler>, handler_data=0x8bb6220, pre_unwind_handler=0, pre_unwind_handler_data=0x0) at throw.c:213 #57 0x007bf5f5 in scm_try_auto_compile (args=0x8bc4338) at load.c:769 #58 scm_primitive_load_path (args=0x8bc4338) at load.c:884 #59 0x0082f74f in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8836504, nargs=1) at vm-i-system.c:898 #60 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x8877740, argv=0xbfd6b080, nargs=1) at vm.c:565 #61 0x00798d37 in scm_primitive_eval (exp=0x892c760) at eval.c:638 #62 0x00798db1 in scm_eval (exp=0x892c760, module_or_state=0x88d3828) at eval.c:672 #63 0x007f0b75 in scm_shell (argc=2, argv=0xbfd6b8f4) at script.c:402 #64 0x007b8be6 in invoke_main_func (body_data=0xbfd6b810) at init.c:336 #65 0x0078dfe2 in c_body (d=0xbfd6b744) at continuations.c:512 #66 0x00819ec2 in apply_catch_closure (clo=0x891d240, args=0x304) at throw.c:146 #67 0x0082f912 in vm_regular_engine (vm=0x8833470, program=0x87d9e60, argv=0x8836054, nargs=4) at vm-i-system.c:966 #68 0x00830d85 in scm_c_vm_run (vm=0x8833470, program=0x889f7b0, argv=0xbfd6b620, nargs=4) at vm.c:565 #69 0x0079895d in scm_call_4 (proc=0x889f7b0, arg1=0x404, arg2=0x891d240, arg3=0x891d230, arg4=0x891d220) at eval.c:505 #70 0x0081a322 in scm_catch_with_pre_unwind_handler (key=0x404, thunk=0x891d240, handler=0x891d230, pre_unwind_handler=0x891d220) at throw.c:86 #71 0x0081a502 in scm_c_catch (tag=0x404, body=0x78dfd0 <c_body>, body_data=0xbfd6b744, handler=0x78e300 <c_handler>, handler_data=0xbfd6b744, pre_unwind_handler=0x78e110 <pre_unwind_handler>, pre_unwind_handler_data=0x8833408) at throw.c:213 #72 0x0078e89b in scm_i_with_continuation_barrier (body=0x78dfd0 <c_body>, body_data=0xbfd6b744, handler=0x78e300 <c_handler>, handler_data=0xbfd6b744, pre_unwind_handler=0x78e110 <pre_unwind_handler>, pre_unwind_handler_data=0x8833408) at continuations.c:450 #73 0x0078e974 in scm_c_with_continuation_barrier ( func=0x7b8ba0 <invoke_main_func>, data=0xbfd6b810) at continuations.c:546 #74 0x0081779b in with_guile_and_parent (base=0xbfd6b7b8, data=0xbfd6b7e4) at threads.c:857 #75 0x009b0d6c in GC_call_with_stack_base ( fn=0x817740 <with_guile_and_parent>, arg=0xbfd6b7e4) at misc.c:1165 #76 0x00817a1c in scm_i_with_guile_and_parent ( func=0x7b8ba0 <invoke_main_func>, data=0xbfd6b810) at threads.c:900 #77 scm_with_guile (func=0x7b8ba0 <invoke_main_func>, data=0xbfd6b810) at threads.c:906 #78 0x007b8cdf in scm_boot_guile (argc=2, argv=0xbfd6b8f4, main_func=0x8048750 <inner_main>, closure=0x0) at init.c:319 #79 0x0804879b in main (argc=2, argv=0xbfd6b8f4) at guile.c:70 (gdb) I don't think its relevent, but here's toolbar.scm: (use-modules (oop goops) (gnome gobject) (gnome gtk) (ice-9 pretty-print)) ;; define the app as a function -- there are many other ways to do ;; this, of course... (define (hello) ;; every widget has a class. here we define a window and a button. (let* ((window (make <gtk-window> #:type 'toplevel)) (button (make <gtk-button> #:label "Hello, World!")) (vbox (make <gtk-vbox>)) (fixed (make <gtk-fixed>)) (toolbar (make <gtk-toolbar>)) ) (gtk-window-set-default-size window 300 150) (gtk-widget-set-size-request toolbar 100 36) ;; (set-requisition toolbar req) (gtk-container-set-border-width window 10) (gtk-container-add window vbox) (gtk-container-add vbox fixed) (put fixed toolbar 0 0) (gtk-container-add vbox button) (map (lambda (stock) (gtk-toolbar-insert toolbar (gtk-tool-button-new-from-stock stock) 0)) '("gtk-ok" "gtk-help" "gtk-print")) ;; of course you can attach a lambda to a signal :-) (gtype-instance-signal-connect button 'clicked (lambda (b) (gtk-main-quit))) (show-all window) ;;(pretty-print (make-instance <gtk-requisition> #:value '(100 24))) ;;(gtk-widget-size-request toolbar (values 100 24)) (gtk-widget-set-size-request toolbar 400 37) (pretty-print (gtk-widget-get-size-request toolbar)) (pretty-print (gtk-widget-get-allocation toolbar)) ;; this will block until gtk-main-quit is called... (gtk-main))) ;; meaning this blocks until the button is clicked. (hello)