unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: David Pirotte <david@altosw.be>
To: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
Cc: guile-user <guile-user@gnu.org>
Subject: Re: GNU G-Golf 0.8.0-rc-3 available for testing
Date: Thu, 18 Apr 2024 19:21:32 -0300	[thread overview]
Message-ID: <20240418192132.245200a9@tintin> (raw)
In-Reply-To: <871q73vcz4.fsf@pelzflorian.de>

[-- Attachment #1: Type: text/plain, Size: 4188 bytes --]

Hi Florian,

> Thank you for the work, David.  I have a question; how do you debug
> when Guile crashes to terminal printing “Segmentation fault”`?

Thanks. You shouldn't have to do this 'on your own', if you submit a
reproducible minimal example that i can use, i'll track and fix
the bug ... If it is a distro problem, which is the situation you are
facing, you should talk to the distro (involved pkgs maintainers)
(additional tips below ...)

But i am curious, does make check pass in Guix?

> I want to develop a GTK app with G-Golf.

I highly recommend you use Adwaita (and Gtk-4 when that applies), not
'just' Gtk-4.

> to run it with GNU Guix [1] (not Debian like you do, as far as I 
> remember), because now the Guix’ hard-working gnome team have added
> the needed version of gobject-introspection to Guix.

Great - Proper GLib/GObject/GObject-Introspection libs is a
pre-requisite ofc, but Guix is known to wrongly set-up things: I think
Ricardo Wurmus <rekado@elephly.net> knows what to do, he did succeed,
once, to run the hello-world example in guix a few years ago, but i
didn't take note of what he did and can't find neither an email, nor in
the logs, how/what needs to be done - I think it has something to do
with grafts, iirc ... I hope he will shim-in to let you know ...

> $ cd ~/src
> $ git clone 'https://git.savannah.gnu.org/git/g-golf.git'

I am curious, can't you just run the make danse in guix? 

	./autogen.sh
	./configure [--prefix=...] --with-guile-site
	# before to run make, you need to uninstall 
	# g-golf (if it is installed ...)
	make

Because i'd be interested to know the output of running make check,
in Guix that is ...

	# it needs Gtk-3.0
	make check

> To create the app’s basic structure, I run Guile Hall [2]:
> ...
> Now I run:
> $ guix shell
> $ ~/src/g-golf/examples/gtk-4/hello-world.scm

> It tells me dbus-launch must be running, so I add a d-bus service to
> my Guix Home configuration.

Never seen such a warning, I guess all other distro run the service by
default  - i'll ask uptream, but maybe worth adding the service as a
g-golf 'start-up' requirement in Guix ...

> $ guix shell
> $ ~/src/g-golf/examples/gtk-4/hello-world.scm

> successfully; a window is shown, though not responsive, with plenty
> of errors.

in Guix that is ... no other distro reports nor even a single
warning/error ...

> (hello-world.scm:12627): Gtk-WARNING **: 23:59:50.617: Unable to
> acquire the address of the accessibility bus:
> GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
> org.a11y.Bus was not provided by any .service files. If you are
> attempting to run GTK without a11y support, GTK_A11Y should be set to
> 'none'.

You should be able to solve this easily, or apply the suggested GTK_A11Y
env setting ...

> (hello-world.scm:12627): GLib-GObject-CRITICAL **: 23:59:51.067:
> cannot register existing type 'GdkPixbuf'  

From here, nothing will ever work - You and Guix guru, need to find out
why .. -the symptom is that in Guix, for some reason, you are trying to
import the Gtk(Gsk/Gdk) lib more then once, in the same memory session,
which won't work, as GObject is a dynamic typing system, all those
types are being defined at runtime, and none can be defined more then
once ...

> However, when I now run:

> $ ~/src/g-golf/examples/gtk-4/drawing-widget.scm
> it crashes, displaying only “Segmentation fault”.  Same with
> $ ~/src/g-golf/examples/gtk-4/peg-solitaire.scm

... right, as i said, nothing will work - these segfaults because
guile/g-golf doesn't stop to (try to) run the app/example because of an
upstream lib (Critical)warning ... but in this situation, it is just
impossible to run any low level upstream lib function, such as creating
a drawing surface ...

when Guix can run make check, and the hello-world example, you 'll
likely be able to run any other example, if not, we'll dig on
appropriate time ...

David

ps:	are you in #guix, #guile, if yes, what's your nick - ping me
there so we can chat - hopefully after Ricardo giives his advice to run
g-golf in guix ...



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2024-04-18 22:21 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17  5:56 GNU G-Golf 0.8.0-rc-3 available for testing David Pirotte
2024-04-17 22:30 ` pelzflorian (Florian Pelz)
2024-04-18 22:21   ` David Pirotte [this message]
2024-04-19 17:00     ` pelzflorian (Florian Pelz)
2024-04-20  4:51       ` David Pirotte
2024-04-20  8:35         ` pelzflorian (Florian Pelz)
2024-04-30 17:51         ` pelzflorian (Florian Pelz)
2024-05-01  0:51           ` David Pirotte
2024-05-01  8:17             ` pelzflorian (Florian Pelz)
2024-05-07  1:39               ` David Pirotte
2024-05-07  9:36                 ` pelzflorian (Florian Pelz)
2024-05-07 23:53                   ` David Pirotte
2024-05-08 10:49                     ` pelzflorian (Florian Pelz)
2024-05-08 21:51                       ` David Pirotte
2024-05-02 18:50             ` pelzflorian (Florian Pelz)
2024-05-02 21:57               ` David Pirotte
2024-05-03  5:00                 ` David Pirotte
2024-05-03 11:35                 ` pelzflorian (Florian Pelz)
2024-05-04  5:59                   ` David Pirotte
2024-05-04 14:31                     ` pelzflorian (Florian Pelz)
2024-05-04 18:08                       ` pelzflorian (Florian Pelz)
2024-05-04 22:11                         ` David Pirotte
2024-05-04 22:23                         ` David Pirotte
2024-05-04 21:39                       ` David Pirotte
2024-05-05  1:43                         ` pelzflorian (Florian Pelz)
2024-05-05 21:30                           ` David Pirotte
2024-05-06  9:45                             ` pelzflorian (Florian Pelz)
2024-05-06  9:53                         ` Basile Starynkevitch
2024-05-06 13:08                           ` pelzflorian (Florian Pelz)
2024-05-03  0:17           ` David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240418192132.245200a9@tintin \
    --to=david@altosw.be \
    --cc=guile-user@gnu.org \
    --cc=pelzflorian@pelzflorian.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).