Hello *,

The sbcl upstream only supports glibc Linux systems. Building sbcl uses sbcl binary (which fails to run on musl) to compile sbcl sources.

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.

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.

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.

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.

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?

Andrey

Reply via email to