[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: G-Golf - Callback segmentation fault
From: |
pelzflorian (Florian Pelz) |
Subject: |
Re: G-Golf - Callback segmentation fault |
Date: |
Sun, 25 Aug 2024 15:28:56 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hello David.
David Pirotte <david@altosw.be> writes:
> Thanks for the nice words - I hope that some day, with the help of
> Guix/Nix maintainer(s), we can identify and solve the problem.
The other Nix patches for giscanner had been written by Luca Bruno who
did work on gobject-introspection itself, although Guix maintainers do
know more about Guile, ELF, runpaths and loaders and analyzing memory
ranges in /proc/4423/maps.
>> 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 ...
>
> I don't follow you here, in order to run the g-golf test-suite, all
> you need to do, in a build tree, is to run 'make check'
'make check' relies on external libraries like GTK for its tests. I had
been thinking that testing vfuncs would be easier to understand with a
small custom test library instead of GTK. But building such a library
is not that easy and I failed to write one. Probably unnecessary if
everything were working fine.
>> The feedback I can give: guile-zlib in its build system autodetects
>> ...
> Not sure i want to do this.
Yeah, normally there is no need, when using the package.
I do not know what Matija did on Nix, because I cannot find any g-golf
in Nixpkgs. Currently, on Guix, when building from source disregarding
the guix package, one needs to manually rewrite init.scm similar to what
the guix package does here [1]. Because /usr/lib is from the host
distro, if there even is a host distro, we do rewrite init.scm’s
dynamic-link code with a:
(define (get lib)
;; Search the library’s /gnu/store/.../lib/....so file-name.
(search-input-file inputs (string-append "lib/" lib ".so")))
(let* ((libgi (get "libgirepository-1.0"))
(libglib (get "libglib-2.0"))
(libgobject (get "libgobject-2.0"))
(libg-golf (string-append #$output "/lib/libg-golf")))
(substitute* "g-golf/init.scm"
(("libgirepository-1.0") libgi)
(("libglib-2.0") libglib)
(("libgobject-2.0") libgobject)
>> Could you document this purpose of vfunc-checks in
>> g-golf/hl-api/vfunc.scm?
>
> Not in any foreseen future.
Okay. But thank you for teaching here that vfunc-checks doesn’t check
our Scheme vfuncs.
Regards,
Florian
[1]
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile-xyz.scm#n2480
Re: G-Golf - Callback segmentation fault, David Pirotte, 2024/08/21