Hello David, > So your patch seems to point to a problem in the upstream definition of > the (most recent) g-callable-info-create-closure, which is the one > everybody who's using GI >= 1.71.0 should use ...
I see. The comment in deprecated function made me thinking and I found notice in LFS [1]: > --disable-exec-static-tramp > Disable static trampoline support. It's a new security feature in > libffi, but some BLFS packages (notably GJS and > gobject-introspection) have not been adapted for it. This flag was recently removed [2] in nixpkgs with a comment: > The fix for gobject-introspection is in version 1.72. Bottom line: If I compile Guile with patched libffi [3] dependency (where flag "disable-exec-static-tramp" is present) problematic examples are working (without patched G-Golf). > Do you (or anyone else interested ofc) have an idea of why would > g-callable-info-create-closure perfectly create a closure pointer on > debian, and not on guix/nix? Here is the upstream code def [2] Most probably has Debian present flag "disable-exec-static-tramp" when configuring libffi. Where can we check that? I still wonder where is the problem, in Guile, G-Golf or gobject-introspection (which according to [2] should not be a problem). [1] https://www.linuxfromscratch.org/~xry111/lfs-cross-la/view/systemd/chapter08/libffi.html [2] https://github.com/NixOS/nixpkgs/pull/257742 [3] Libffi is used in a lot of packages. I patch it only for Guile. -- Regards, Matija