David Pirotte <da...@altosw.be> writes: >> Hi David. I’m trying to find the true error location. > > The true error location was given by the gdb backtrace, the > gtk-widget-snapshot-child call, presumably with a bad pointer or so ...
Hmm my assumption was that all callbacks are broken, not vfuncs specifically, which is why I tried in my e-mail yesterday to tracepoint g-closure-marshal in Guile and was surprised by that it once said “Trap 0: (g-closure-marshal #<pointer 0x1b9defc0> #<pointer 0x0> 1 #<pointer?> ?)” before the crash just said “Trap 0: no values”. The GTK_A11Y warning I can easily fix by exporting GTK_A11Y=none, but it was interesting that the crash happens two function calls away from where the warning is printed. > Could you please upload a full gdb backtrace somewhere tor-friendly > (and zero javascript), so i can look at it, thanks. On a x86_64 GNOME laptop on the distro Guix System on the g-golf devel branch with (main '("guile" "--debug")): #0 0x00007fce2f0022d0 in ?? () #1 0x00007fce22e7c3dc in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #2 0x00007fce22e7efa4 in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #3 0x00007fce22e8ae13 in gtk_widget_snapshot_child () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #4 0x00007fce22e8ae9e in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #5 0x00007fce22e7c79e in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #6 0x00007fce22e7efa4 in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #7 0x00007fce22e8a6eb in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #8 0x00007fce22e918c5 in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #9 0x00007fce22ffde94 in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #10 0x00007fce293e75b9 in _g_closure_invoke_va (closure=closure@entry=0x38c9de0, return_value=return_value@entry=0x7ffca25ce230, instance=instance@entry=0x179ef90, args=args@entry=0x7ffca25ce3b8, n_params=n_params@entry=1, param_types=param_types@entry=0x1763e30) at ../glib-2.78.0/gobject/gclosure.c:895 #11 0x00007fce293fa52e in signal_emit_valist_unlocked (instance=instance@entry=0x179ef90, signal_id=signal_id@entry=38, detail=detail@entry=0, var_args=var_args@entry=0x7ffca25ce3b8) at ../glib-2.78.0/gobject/gsignal.c:3516 #12 0x00007fce294003c5 in g_signal_emit_valist (instance=0x179ef90, signal_id=38, detail=0, var_args=var_args@entry=0x7ffca25ce3b8) at ../glib-2.78.0/gobject/gsignal.c:3355 #13 0x00007fce29400472 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib-2.78.0/gobject/gsignal.c:3675 #14 0x00007fce230746ca in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #15 0x00007fce293e75b9 in _g_closure_invoke_va (closure=closure@entry=0x191b470, return_value=return_value@entry=0x0, instance=instance@entry=0x191b240, args=args@entry=0x7ffca25ce738, n_params=n_params@entry=0, param_types=param_types@entry=0x0) at ../glib-2.78.0/gobject/gclosure.c:895 #16 0x00007fce293fb17b in signal_emit_valist_unlocked (instance=instance@entry=0x191b240, signal_id=signal_id@entry=55, detail=detail@entry=0, var_args=var_args@entry=0x7ffca25ce738) at ../glib-2.78.0/gobject/gsignal.c:3516 #17 0x00007fce294003c5 in g_signal_emit_valist (instance=0x191b240, signal_id=55, detail=0, var_args=var_args@entry=0x7ffca25ce738) at ../glib-2.78.0/gobject/gsignal.c:3355 #18 0x00007fce29400472 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib-2.78.0/gobject/gsignal.c:3675 #19 0x00007fce230639e0 in ?? () from /gnu/store/s0bzhwa0n6kvlsfzd6z8nxmm39g39gck-gtk-4.12.3/lib/libgtk-4.so.1 #20 0x00007fce2948e8eb in g_timeout_dispatch (user_data=<optimized out>, callback=<optimized out>, source=0x3935fe0) at ../glib-2.78.0/glib/gmain.c:5121 #21 g_timeout_dispatch (source=0x3935fe0, callback=<optimized out>, user_data=<optimized out>) at ../glib-2.78.0/glib/gmain.c:5099 #22 0x00007fce2948acf3 in g_main_dispatch (context=context@entry=0x1816860) at ../glib-2.78.0/glib/gmain.c:3476 #23 0x00007fce2948dc17 in g_main_context_dispatch_unlocked (context=0x1816860) at ../glib-2.78.0/glib/gmain.c:4284 #24 g_main_context_iterate_unlocked (context=context@entry=0x1816860, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.78.0/glib/gmain.c:4349 #25 0x00007fce2948e1ff in g_main_context_iteration (context=context@entry=0x1816860, may_block=may_block@entry=1) at ../glib-2.78.0/glib/gmain.c:4414 #26 0x00007fce292c964d in g_application_run (application=0x1815250, argc=<optimized out>, argv=<optimized out>) at ../glib-2.78.0/gio/gapplication.c:2577 #27 0x00007fce30811052 in ffi_call_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #28 0x00007fce3080fc85 in ffi_call_int () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #29 0x00007fce3081068e in ffi_call () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #30 0x00007fce295849c7 in g_callable_info_invoke () from /gnu/store/vycyjb00dcqwjpn45as8jhrw4apv4r5n-gobject-introspection-1.73.1/lib/libgirepository-1.0.so #31 0x00007fce29585f62 in g_function_info_invoke () from /gnu/store/vycyjb00dcqwjpn45as8jhrw4apv4r5n-gobject-introspection-1.73.1/lib/libgirepository-1.0.so #32 0x00007fce30811052 in ffi_call_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #33 0x00007fce3080fc85 in ffi_call_int () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #34 0x00007fce3081068e in ffi_call () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #35 0x00007fce3096dd37 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #36 0x00007fce3095df55 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #37 0x00007fce30952b9d in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #38 0x00007fce3095ddb5 in scm_call_n () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #39 0x00007fce308c8977 in scm_primitive_eval () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #40 0x00007fce308ce846 in scm_eval () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #41 0x00007fce3092d3e6 in scm_shell () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #42 0x00007fce308df8cc in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #43 0x00007fce308c6e1a in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #44 0x00007fce30950390 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #45 0x00007fce3095ddb5 in scm_call_n () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #46 0x00007fce308c85ca in scm_call_2 () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #47 0x00007fce3096f092 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #48 0x00007fce3094ae1f in scm_c_catch () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #49 0x00007fce308c9396 in scm_c_with_continuation_barrier () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #50 0x00007fce3094a049 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #51 0x00007fce3082d7fa in GC_call_with_stack_base () from /gnu/store/1w1r6r56z9lhg8ghcb7lxss6mkn7d5l1-libgc-8.2.2/lib/libgc.so.1 #52 0x00007fce309443f8 in scm_with_guile () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #53 0x00007fce308e88e5 in scm_boot_guile () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #54 0x00000000004010f7 in ?? () #55 0x00007fce303551f7 in __libc_start_call_main () from /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6 #56 0x00007fce303552ac in __libc_start_main_impl () from /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6 #57 0x0000000000401171 in ?? () (I do not understand why it does not see GTK debug info.) On my aarch64 rock64 the complete backtrace is useless: (gdb) bt #0 0x0000ffff8066e278 in ?? () #1 0x000000001b976640 in ?? () Backtrace stopped: not enough registers or memory available to unwind further Your next e-mail: David Pirotte <da...@altosw.be> writes: > I patched the drawing-widget example so users may pass a -d or --debug > option, which triggers the setting of the %debug parameter. > > This will track (some of the) g-golf (engine) calls 'only', so in this > particular situation that it segfault (in guix) upon a gtk snapshot > engine call, i probably will still very much need you to upload the > full gdb backtrace. > > But it will at least give you some useful info on what's going on > 'internally' - and who knows, might also give me some idea to further > investigate the problem ... tracking those calls is also a nice way to > learn about some g-golf internals .... >[…] > scheme@(guile-user)> (load "drawing-widget.scm") > scheme@(guile-user)> (main '("-d")) > ;; g-application-run > ;; application: #<<gtk-application> 7efed470ab10> > ;; argc: 0 > ;; argv: () > ;; gtk-window-set-child > ;; window: #<<gtk-application-window> 7efed470e270> > ;; child: #<<drawing-widget> 7efed470e020> > ;; gtk-window-present > ;; window: #<<gtk-application-window> 7efed470e270> > ;; g-golf-callback-closure-marshal > ;; snapshot > ;; widget: #<<drawing-widget> 7efed470e020> > ;; snapshot: #<<gtk-snapshot> 7efed471b1f0> > ;; gtk-widget-get-width >[…] I get only scheme@(guile-user)> (main '("guile" "--debug")) ;; g-application-run ;; application: #<<gtk-application> 7fce23e673b0> ;; argc: 0 ;; argv: () ;; gtk-window-set-child ;; window: #<<gtk-application-window> 7fce23e730c0> ;; child: #<<drawing-widget> 7fce23e7bd10> ;; gtk-window-present ;; window: #<<gtk-application-window> 7fce23e730c0> There it stops for me. This is similar to what I get with patch diff --git a/g-golf/init.scm b/g-golf/init.scm index 5f64297..f1774b8 100644 --- a/g-golf/init.scm +++ b/g-golf/init.scm @@ -47,8 +47,8 @@ (define %libg-golf (dynamic-link "libg-golf")) -(define %debug (make-parameter #f)) -(define %iface-vfunc-warnings (make-parameter #f)) +(define %debug (make-parameter #t)) +(define %iface-vfunc-warnings (make-parameter #t)) ;; The AdwMessageDialog class offers two ways to capture the user ;; response: (1) the traditional dialog 'response signal callback and base-commit: 482c0693160fba5f4a29214028dc3e9c276693da -- 2.41.0 Next e-mail: David Pirotte <da...@altosw.be> writes: > Hi Florian, > >> ... >> examples/gtk-4/simple-paintable.scm fails at (add-to-load-path >> (dirname (current-filename)). I have not yet spent time to debug >> this one further. > > So we can make progress, till you find why (current-filename) fails - > note that it is a syntax, not a procedure, and the doc clearly state > that it returns #f "... when this information is not available." - but > i wonder why "this information" is available in other distro and not > in guix, for the same example code i mean? Without updating: scheme@(guile-user)> (load "adw1-demo.scm") ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/florian/src/g-golf/examples/adw-1/adw1-demo.scm ;;; compiling /home/florian/src/g-golf/examples/adw-1/adw1-demo/window.scm ;;; WARNING: compilation of /home/florian/src/g-golf/examples/adw-1/adw1-demo/window.scm failed: ;;; In procedure scm_to_utf8_stringn: Wrong type argument in position 1 (expecting string): #f ;;; WARNING: compilation of /home/florian/src/g-golf/examples/adw-1/adw1-demo.scm failed: ;;; In procedure scm_to_utf8_stringn: Wrong type argument in position 1 (expecting string): #f scheme@(guile-user)> (main '("guile")) ice-9/boot-9.scm:1685:16: In procedure raise-exception: Unbound variable: show-window Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guile-user) [1]> > > Meanwhile, so we can make progress, could you manually patch this > example to set the path and try again: > > 1- you need a patched version of guile-cairo > > "... G-Golf actually requires a patched version of guile-cairo > that contains the following new interface (which is not in > guile-cairo 1.11.2): cairo-pointer->context." > > see if you have or update your guile-cairo to > commit 30da459d7a4380174ff243b1560d5512a4bca86e > I did update to this commit now. > It should then segfault as well, since it defines two vfunc > methods, let's see ... Yes, although in gtk_image_set_from_paintable: Thread 1 "guile" received signal SIGSEGV, Segmentation fault. 0x00007f9aeb6052d0 in ?? () (gdb) bt #0 0x00007f9aeb6052d0 in ?? () #1 0x00007f9ae4d8b8f0 in gtk_image_set_from_paintable () from /gnu/store/sq092kyxpn30dp16i85bgxrx18km3cq1-gtk-4.12.3/lib/libgtk-4.so.1 #2 0x00007f9aed8f9052 in ffi_call_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #3 0x00007f9aed8f7c85 in ffi_call_int () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #4 0x00007f9aed8f868e in ffi_call () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #5 0x00007f9ae66c89c7 in g_callable_info_invoke () from /gnu/store/vycyjb00dcqwjpn45as8jhrw4apv4r5n-gobject-introspection-1.73.1/lib/libgirepository-1.0.so #6 0x00007f9ae66c9f62 in g_function_info_invoke () from /gnu/store/vycyjb00dcqwjpn45as8jhrw4apv4r5n-gobject-introspection-1.73.1/lib/libgirepository-1.0.so #7 0x00007f9aed8f9052 in ffi_call_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #8 0x00007f9aed8f7c85 in ffi_call_int () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #9 0x00007f9aed8f868e in ffi_call () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #10 0x00007f9aeda55d37 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #11 0x00007f9aeda45f55 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #12 0x00007f9aeda3ab9d in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #13 0x00007f9aeda45db5 in scm_call_n () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #14 0x00007f9aed9c3e5a in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #15 0x00007f9aed8f8931 in ffi_closure_unix64_inner () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #16 0x00007f9aed8f91e8 in ffi_closure_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #17 0x00007f9ae652b38f in g_closure_invoke (closure=0x8c9200, return_value=return_value@entry=0x0, n_param_values=n_param_values@entry=1, param_values=param_values@entry=0x7ffc87fa3790, invocation_hint=invocation_hint@entry=0x7ffc87fa3730) at ../glib-2.78.0/gobject/gclosure.c:832 #18 0x00007f9ae653db17 in signal_emit_unlocked_R (node=node@entry=0x7ffc87fa38c0, detail=detail@entry=0, instance=instance@entry=0x8c7e20, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffc87fa3790) at ../glib-2.78.0/gobject/gsignal.c:3980 #19 0x00007f9ae653f109 in signal_emit_valist_unlocked (instance=instance@entry=0x8c7e20, signal_id=signal_id@entry=8, detail=detail@entry=0, var_args=var_args@entry=0x7ffc87fa3998) at ../glib-2.78.0/gobject/gsignal.c:3612 #20 0x00007f9ae65443c5 in g_signal_emit_valist (instance=0x8c7e20, signal_id=8, detail=0, var_args=var_args@entry=0x7ffc87fa3998) at ../glib-2.78.0/gobject/gsignal.c:3355 #21 0x00007f9ae6544472 in g_signal_emit (instance=instance@entry=0x8c7e20, signal_id=<optimized out>, detail=detail@entry=0) at ../glib-2.78.0/gobject/gsignal.c:3675 #22 0x00007f9ae640d113 in g_application_activate (application=application@entry=0x8c7e20) at ../glib-2.78.0/gio/gapplication.c:2316 #23 0x00007f9ae640d488 in g_application_real_local_command_line (application=0x8c7e20, arguments=0x7ffc87fa3ae0, exit_status=0x7ffc87fa3adc) at ../glib-2.78.0/gio/gapplication.c:1152 #24 0x00007f9ae640d5de in g_application_run (application=0x8c7e20, argc=<optimized out>, argv=<optimized out>) at ../glib-2.78.0/gio/gapplication.c:2546 #25 0x00007f9aed8f9052 in ffi_call_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #26 0x00007f9aed8f7c85 in ffi_call_int () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #27 0x00007f9aed8f868e in ffi_call () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #28 0x00007f9ae66c89c7 in g_callable_info_invoke () from /gnu/store/vycyjb00dcqwjpn45as8jhrw4apv4r5n-gobject-introspection-1.73.1/lib/libgirepository-1.0.so #29 0x00007f9ae66c9f62 in g_function_info_invoke () from /gnu/store/vycyjb00dcqwjpn45as8jhrw4apv4r5n-gobject-introspection-1.73.1/lib/libgirepository-1.0.so #30 0x00007f9aed8f9052 in ffi_call_unix64 () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #31 0x00007f9aed8f7c85 in ffi_call_int () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #32 0x00007f9aed8f868e in ffi_call () from /gnu/store/w8b0l8hk6g0fahj4fvmc4qqm3cvaxnmv-libffi-3.4.4/lib/libffi.so.8 #33 0x00007f9aeda55d37 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #34 0x00007f9aeda45f55 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #35 0x00007f9aeda3ab9d in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #36 0x00007f9aeda45db5 in scm_call_n () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #37 0x00007f9aed9b0977 in scm_primitive_eval () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #38 0x00007f9aed9b6846 in scm_eval () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #39 0x00007f9aeda153e6 in scm_shell () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #40 0x00007f9aed9c78cc in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #41 0x00007f9aed9aee1a in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #42 0x00007f9aeda38390 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #43 0x00007f9aeda45db5 in scm_call_n () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #44 0x00007f9aed9b05ca in scm_call_2 () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #45 0x00007f9aeda57092 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #46 0x00007f9aeda32e1f in scm_c_catch () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #47 0x00007f9aed9b1396 in scm_c_with_continuation_barrier () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #48 0x00007f9aeda32049 in ?? () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #49 0x00007f9aed9157fa in GC_call_with_stack_base () from /gnu/store/1w1r6r56z9lhg8ghcb7lxss6mkn7d5l1-libgc-8.2.2/lib/libgc.so.1 #50 0x00007f9aeda2c3f8 in scm_with_guile () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #51 0x00007f9aed9d08e5 in scm_boot_guile () from /gnu/store/4gvgcfdiz67wv04ihqfa8pqwzsb0qpv5-guile-3.0.9/lib/libguile-3.0.so.1 #52 0x00000000004010f7 in ?? () #53 0x00007f9aed43d1f7 in __libc_start_call_main () from /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6 #54 0x00007f9aed43d2ac in __libc_start_main_impl () from /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6 #55 0x0000000000401171 in ?? () > Ideally, you'd do that automatically ofc, using the guix machinery > to achieve those little but fundamental changes. > > While at it :), let me add the ideally as well, Guix should define a > (separate) g-golf.scm module/file and this module should contain the > following pkg defs: > > g-golf > [ g-golf-doc - possibly a separate pkg as well > g-golf-gtk4-examples > g-golf-adw1-examples > ... - other examples to come > > It is very important, in distros, that g-golf be separate from its > examples, because g-golf itself only depends on automake, makeinfo, > glib-2.0, gobject-2.0, gobject-introspection-1.0, a C compiler and guile ofc. > > G-Golf can indeed import typelibs that do not depend on gtk4, adwaita > ...and allow to perform many other things then 'just' GUI ... > > Cheers, > David Oh yes, it would be good to package examples for developers to look at their package definitions. And without downloading the g-golf source. Then again, the g-golf source can be downloaded via Guix too. florian@florianrock64 ~$ cd $(guix build -S guile-g-golf) florian@florianrock64 /gnu/store/3jwn5cxp3j39i0rf8cjwvrk6rynbk743-guile-g-golf-0.8.0-a.1-checkout$ For pygobject trying examples is intricate too: $ cd src/ $ tar xvf $(guix build -S python-pygobject) $ guix shell python python-gobject gtk+ gtksourceview@4 python-pycairo -- python3 examples/demo/demo.py Regards, Florian