[Bug 281600] lang/rust failing to build on risc-v (again)

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 16 Oct 2024 17:59:00 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281600

Mitchell Horne <mhorne@freebsd.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|rust@FreeBSD.org            |mhorne@freebsd.org
                 CC|                            |mhorne@freebsd.org
             Status|Open                        |In Progress

--- Comment #25 from Mitchell Horne <mhorne@freebsd.org> ---
Hi all,

I have been following this bug, and the larger issue of Rust on
FreeBSD/riscv64, for a long time now. The desires for better defaults here are
heard.

I am in contact with Alan Somers (asomers@) who is in-the-know on the
transition away from FreeBSD 11 syscalls within the rust project. Essentially,
we are closer than ever, but the rust developers are hesitant to make the
switch officially, due to concerns/lack of confidence about backwards
compatibility, and a couple of smaller TODOs. Thus, there is still no firm
timeline for the transition.

He suggested that in the meantime, we would be able to switch to the FreeBSD 12
ABI by default for the riscv64 target specifically. I am working with him to
test this, and if this solution proves workable in the near-term, our problem
will be solved.

If this course of action doesn't work out by the end of this year, I will
enable COMPAT11 in GENERIC as a stop-gap. At the point that Rust has officially
moved off of the FreeBSD 11 interfaces, the compatibility will be removed and
users will be required to upgrade their ports.

The discussion has repeated in circles for years now, and it is tiring to see.
We need to take some kind of step forward. What we are talking about is a
triply-niche platform: an alternative programming language, on an alternative
operating system, on an emerging CPU architecture. In other words, we are very
much the small fish in this scenario. Robert is absolutely correct that by
taking such a hard-line stance towards Rust's technical inadequacies,
legitimate as they may be, _we_ are the ones who are losing in practical terms.

In the same vein, those of you who are interested and willing to experiment
with such an unofficial and immature platform as Rust on FreeBSD/riscv are
expected to carry your weight in terms of workarounds, dealing with stumbling
blocks, unclear instructions, etc. This means in the immediate-term you will
have to be comfortable with maintaining a custom kernel config adding COMPAT11,
if you want to experiment with Rust. For the three or four people that make up
this group, this is not an unreasonable ask at all.

To reiterate: I intend to take action to get us "unstuck" here, in the
near-term, but not immediately. It is important that we continue to improve the
out-of-the-box experience, but our pool of users is tiny and the pool of
developers is minuscule.

As a final request: please, do not post any more console output to this bug,
unless it is requested specifically. You can share successes/challenges
relating to building/running Rust ports on the freebsd-riscv mailing list.

Thanks. 
Mitchell

-- 
You are receiving this mail because:
You are on the CC list for the bug.