[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Shepherd in Debian
From: |
Vagrant Cascadian |
Subject: |
Re: Shepherd in Debian |
Date: |
Sun, 29 Dec 2024 13:37:19 -0800 |
On 2024-12-15, Ludovic Courtès wrote:
> Simon Josefsson via "Development of GNU Guix and the GNU System
> distribution." <guix-devel@gnu.org> skribis:
>> Btw, running 'herd --help' prints a lot of warnings like below. Any
>> ideas where these come from and/or how to silence them? Salsa used
>> Guile 3.0.9 and my laptop has Guile 3.0.7, if that matters.
>>
>> ;;; WARNING: loading compiled file
>> /usr/lib/x86_64-linux-gnu/guile/3.0/site-ccache/shepherd/scripts/herd.go
>> failed:
>> ;;; In procedure load-thunk-from-memory: incompatible bytecode version
>
> That indicates a discrepancy between the Guile used to build the
> Shepherd and the one used at run time. Object files built by 3.0.9 (as
> is the case here) cannot be understood by 3.0.7.
>
> How’s that handled for other Guile packages in Debian? Vagrant must
> know. :-)
In short, poorly. :(
To avoid noise like that, it may require rebuilding the package, and the
usual detection mechanisms in Debian for things that require rebuilds
(e.g. ABI bumps in C libraries) do not appear to trigger in any way with
guile packages.
This seems especially important with packages that have guile bindings
to C libraries (e.g. guile-git, guile-ssh, guile-zlib, etc.) which may
break in even more significant ways.
So, the only answer I have come up with is that I periodically rebuild
stuff when it seems like it breaks.
I suspect a fair number of the test suite failures in the Debian
packages of Guix might be due to issues along these lines. Many of the
tests are disabled for good reason (e.g. network-dependent tests or
tests that assume bootstrap binaries are available) but honestly, many
of them are just disabled to keep me from pulling my hair out. :/
On a good day I am happy to keep Guix and the many necessary
guile-specific packages working in Debian! On a bad day I wonder pretty
hard if it is worth the effort. I maintain quite a few guile packages in
Debian, despite being at best ambivalent to guile itself. :)
There was a big change in Debian recently where guile was downgraded
from 3.10.x back to 3.9.x. That was a little bit exciting.
I am not sure how to better automate or detect that sort of thing...
Guix avoids ABI issues entirely by rebuilding everything whenever
anything in the dependency chain changes, and is also perhaps a
significant driver of Guile usage ... so I can see how this might be
deprioritized in cases where ABI actually matters, though most
distributions still do largely use ABI to limit rebuilds to only when
"necessary".
live well,
vagrant
signature.asc
Description: PGP signature