Re: Future of armv7 [specifically: the status of lang/rust being buildable]

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 16 Nov 2025 12:11:34 UTC
On Nov 15, 2025, at 12:36, Mark Millard <marklmi@yahoo.com> wrote:

> Kristof Provost <kp_at_FreeBSD.org> wrote on
> Date: Sat, 15 Nov 2025 12:22:14 UTC :
> 
>> . . . because rust doesn’t build for armv7 . . .
> 
> I've not tried a build on the Orange-Pi+ 2ed (2 GiBytes of RAM)
> or a RPi2 v1.1 (1 GiByte of RAM) in a long time in any for,
> preferring faster build options. It could be that resource
> limitations related to reasonable RAM+SWAP ssizes now block such
> and I'd not know.
> 
> But I have an aarch64 boot media that I use with a Windows Dev
> Kit 2023 to build armv7 port-packages. armv7 jails work natively
> on this aarch64 system, not via qemu:
> 
> # poudriere jail -l
> JAILNAME         VERSION      OSVERSION ARCH          METHOD    TIMESTAMP           PATH
> official14-armv7 14.3-STABLE            arm.armv7     freebsdci 2025-11-12 13:26:11 /usr/local/poudriere/jails/official14-armv7
> . . .
> release-armv7    15.0-BETA1             armv7         pkgbase   2025-11-11 18:44:29 /usr/local/poudriere/jails/release-armv7
> . . .
> official-armv7   15.0-STABLE            armv7         pkgbase   2025-11-11 18:46:52 /usr/local/poudriere/jails/official-armv7
> . . .
> main-armv7       16.0-CURRENT           armv7         pkgbase   2025-11-11 18:49:52 /usr/local/poudriere/jails/main-armv7
> 
> I do not build rust in any of those frequently but the most recent is from 2025-Oct-14.
> The log file reports:
> 
> build of lang/rust | rust-1.90.0_1 ended at 2025-10-14T10:27:56-07:00
> build time: 11:26:06
> 
> For reference:
> 
> # pkg info rust
> rust-1.90.0_1
> Name           : rust
> Version        : 1.90.0_1
> Installed on   : Tue Oct 14 15:35:06 2025 PDT
> Origin         : lang/rust
> Architecture   : FreeBSD:16:armv7
> Prefix         : /usr/local
> Categories     : lang
> Licenses       : MIT, APACHE20
> Maintainer     : rust@FreeBSD.org
> WWW            : https://www.rust-lang.org/
> Comment        : Language with a focus on memory safety and concurrency
> Options        :
> DOCS           : on
> GDB            : off
> LTO            : off
> PORT_LLVM      : off
> SOURCES        : on
> WASM           : on
> Shared Libs required:
> libc++.so.1
> libc.so.7
> libcrypto.so.35
> libcurl.so.4
> libcxxrt.so.1
> libexecinfo.so.1
> libgcc_s.so.1
> libm.so.5
> librt.so.1
> libssl.so.35
> libthr.so.3
> libz.so.6
> Shared Libs provided:
> librustc_driver-f829a56845e9245a.so
> Annotations    :
> FreeBSD_version: 1600001
> cpe            : cpe:2.3:a:rust-lang:rust:1.90.0:::::freebsd16:armv7:1
> port_checkout_unclean: no
> ports_top_checkout_unclean: yes
> ports_top_git_hash: ac9b12ecd53f
> repo_type      : binary
> repository     : main-armv7-default
> Flat size      : 1.11GiB
> Description    :
> Rust is an open-source systems programming language that runs blazingly
> fast, prevents almost all crashes, and eliminates data races.
> Some of its features:
> 
>  - Algebraic data types, type inference
>  - Pattern matching and closures
>  - Concurrency without data races
>  - Guaranteed memory safety
>  - Optional garbage collection
>  - Zero-cost abstractions
>  - Minimal runtime
>  - Efficient C bindings
> 
> 
> Also:
> 
> https://portsfallout.com/fallout?port=lang%2Frust&maintainer=&env=armv7&category=&flavor=
> 
> shows no history of lang/rust build failures. The history
> goes back into 2025-07-04 .
> 
> Currently with all of FreeBSD 13.5, 14.3, 15.0, and main
> for both latest and quarterly and there being only 3
> aarch64/armv7 official port-package builder systems,
> official builds of armv7 have been suspended (tier 2
> status allows such). However, I expect the rust builds
> would be working if the builds were being attempted.
> 
> So far as I know, rust still builds just fine for armv7.

I happened to do a round of updating for main [so: 16]:

/usr/local/poudriere/data/logs/bulk/main-armv7-default/2025-11-15_15h31m42s/logs/rust-1.91.1.log

reports:

. . .
===>  Building packages for rust-1.91.1
===>   Building rust-1.91.1
===========================================================================
=>> Cleaning up wrkdir
===>  Cleaning for rust-1.91.1
build of lang/rust | rust-1.91.1 ended at 2025-11-16T00:07:28-08:00
build time: 08:28:16


Also:

[08:25:53] [04] [08:22:01] Finished   devel/llvm21@default | llvm21-21.1.5: Success
[08:35:09] [02] [08:27:39] Finished   lang/rust | rust-1.91.1: Success

So, for the most part, both were building at the same time --and were
using ALLOW_MAKE_JOBS=yes allowing using up to all 8 cores for each
builder. (So, high load averages allowed.) I do have TMPFS_BLACKLIST
involved, not just the USE_TMPFS=all . rust is specifically in my
MUTUALLY_EXCLUSIVE_BUILD_PACKAGES as well, but no llvm is.

(My llvm21 build is somewhat tailored to avoid building some aspects
that I do not put to use.)


===
Mark Millard
marklmi at yahoo.com