unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: David Pirotte <david@altosw.be>
Cc: Matija Obid <matija.obid@posteo.net>,  guile-user@gnu.org
Subject: Re: G-Golf - Callback segmentation fault
Date: Sat, 24 Aug 2024 18:01:57 +0200	[thread overview]
Message-ID: <87v7zpq58q.fsf@pelzflorian.de> (raw)
In-Reply-To: <20240823205712.2599d0a3@tintin> (David Pirotte's message of "Fri, 23 Aug 2024 20:57:12 -0300")

Hello David.  Thank you for this important groundwork that g-golf is.

Sorry to say, I have not developed any GUI and had no time as planned.
It will not happen with me.  But Debian is not the problem; all is fine
there (unlike G-Golf on Guix on Debian).

I also failed to put a libg-golf-tests library to actually test gobject
libraries in g-golf’s tests and link it with libtool, but it never
worked, because autotools does not support linking for tests and all
libtool executing would have to be done manually.

The feedback I can give: guile-zlib in its build system autodetects the
location of its needed libz library in configure.ac as LIBZ_LIBDIR,
substitutes that in a config.scm.in module and calls (dynamic-link
%libz) on that path.  If you made g-golf/init.scm do this, it would be
easy on Guix/Nix to build from source.

David Pirotte <david@altosw.be> writes:
> As i did suggest already, you should ask for some guix highly
> knowledgeable designer/developer (and who deeply knows the other
> involved domains, C, guile's ffi implementation, dynamic libs linking
> ...) - I'd happily stand corrected, and happily patch g-golf if ... but
> till proved wrong, i don't think it is a g-golf problem.

I’m missing an entry point to debug if the problem is
<https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/main/girepository/gitypelib.c>
and do not understand typelibs, except I see the giscanner part of
gobject-introspection needed Nix-/Guix-specific patches:

https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch

https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch

which I cannot understand at the moment.  I suspect you’d need similar
work.

Then, I see on docs.gtk.org there is a girepository 3.0 (likely a typo
and meant to say 2.0) migration which will make it hard to try the
latest girepository version with g-golf, but also, no version of
girepository 2.0 is packaged for guix anyway.  It seems much movement is
being done there under gobject-introspection’s hood.


>> Intermittently I once saw a different error:
>> ...
>
> I can't make sense of this error, but so you know, vfunc-checks checks
> that the (upstream lib) virtual function you are trying to define in
> g-golf exists in the class you are 'altering', and also checks that the
> scheme virtual function name is correct [1]

So indeed you regard it as unrelated, too.  I tried but wasn’t able to
make any reproducer, because the issue happened no longer; it did not
happen in container isolation.  But the problematic build, that I did
not keep, was isolated.

Could you document this purpose of vfunc-checks in
g-golf/hl-api/vfunc.scm?  Clearly you have put a lot of glib
introspection knowledge in the g-golf implementation that an outsider
would understand only with IRC help.  But it’s the same for
gobject-introspection itself.


> So it disappeared and you can't reproduce it, let's concentrate on
> the (g-golf) virtual function definition bug in Nix/Guix ...

Yes, this is the only real annoyance.

Regards,
Florian



  reply	other threads:[~2024-08-24 16:01 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-21 14:50 G-Golf - Callback segmentation fault Matija Obid
2024-08-21 15:19 ` pelzflorian (Florian Pelz)
2024-08-23 23:57   ` David Pirotte
2024-08-24 16:01     ` pelzflorian (Florian Pelz) [this message]
2024-08-25  5:09       ` David Pirotte
2024-08-25 13:28         ` pelzflorian (Florian Pelz)
2024-08-26  6:40           ` pelzflorian (Florian Pelz)
2024-08-22  0:21 ` David Pirotte
2024-08-27 20:09   ` Matija Obid
2024-08-28 10:50     ` pelzflorian (Florian Pelz)
2024-08-29  0:18     ` David Pirotte
2024-08-31 16:35       ` Matija Obid
2024-09-02 15:30         ` pelzflorian (Florian Pelz)
2024-09-02 21:18         ` David Pirotte
2024-09-03  1:01           ` David Pirotte
2024-09-05  4:00             ` David Pirotte
2024-09-05  7:24               ` pelzflorian (Florian Pelz)
2024-09-05  7:42                 ` pelzflorian (Florian Pelz)
2024-09-05 21:23                   ` David Pirotte
2024-09-05 21:44                     ` David Pirotte
2024-09-05 20:48                 ` David Pirotte
2024-09-05 13:37               ` Matija Obid
2024-09-05 22:14                 ` David Pirotte
2024-09-06  6:29                   ` David Pirotte
2024-09-06  9:44                     ` pelzflorian (Florian Pelz)
2024-09-06 18:37                       ` David Pirotte
2024-09-06 22:08                         ` David Pirotte
2024-09-06 23:16                           ` David Pirotte
2024-09-07 14:08                             ` pelzflorian (Florian Pelz)
2024-09-07 11:53                           ` Matija Obid

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=87v7zpq58q.fsf@pelzflorian.de \
    --to=pelzflorian@pelzflorian.de \
    --cc=david@altosw.be \
    --cc=guile-user@gnu.org \
    --cc=matija.obid@posteo.net \
    /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).