guile-user
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]