Gentoo Archives: gentoo-dev

From: Sam James <sam@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] musl, sbcl, and ros
Date: Fri, 02 Dec 2022 06:05:20
Message-Id: E87D1D70-0F66-4401-B4D2-483CDCF09897@gentoo.org
In Reply to: [gentoo-dev] musl, sbcl, and ros by Andrey Grozin
1 > On 2 Dec 2022, at 05:11, Andrey Grozin <grozin@×××××××××××××××××.org> wrote:
2 >
3 > Hello *,
4 >
5 > The sbcl upstream only supports glibc Linux systems. Building sbcl uses sbcl binary (which fails to run on musl) to compile sbcl sources.
6 >
7 > In principle, one can try a workaround: use some other lisp (say, clisp or ecl) as the bootstrap lisp. This way is at best brittle: there is no guarantee that these external lisps will compile the sbcl sources successfully. People say that sometimes this works.
8 >
9 > No user of musl profiles could successfully emerge sbcl from time -infinity to the present moment. The natural solution is to pmask sbcl in musl profiles.
10 >
11 > So I've done. But this leads to unexpected consequences. dev-ros/roslisp hard depends on sbcl. ros-meta/ros_core hard depends on roslisp. ros-meta/ros_base hard depends on ros_core. ros-meta/{perception,robot,viz} hard depend on ros_core. Maybe, more packages depend on {perception,robot,viz}, I haven't checked.
12 >
13 > This means that no user of the musl profiles has ever been able to emerge all these packages (because they did not have sbcl). And all these packages should be pmasked in the musl profiles.
14 >
15 > Before doing this drastic change I decided to ask for your advice. Should I go forward and pmask them now? Or maybe for some of them the dependence on sbcl can be made optional, and it would be sufficient to use.mask such an option name? Or maybe roslisp can use some other lisp instead of sbcl?
16 >
17
18 Thanks for asking and for looking to sort it out for musl.
19
20 If the dependencies are optional (at least for some), we should indeed (package.)use.mask sbcl on musl to reduce the damage,
21 then package.mask the remaining unconditional reverse dependencies.
22
23 For things like this, I tend to use GitHub pull requests because you get CI for free to see if the masks
24 are sufficient, and if not, what the problems are. But you can emulate that using pkgcheck scan on the whole
25 tree locally.
26
27 Best,
28 sam

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] musl, sbcl, and ros Andrey Grozin <grozin@×××××××××××××××××.org>