[Bug 281600] lang/rust failing to build on risc-v (again)
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 281600] lang/rust failing to build on risc-v (again)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 20 Oct 2025 13:54:58 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=281600
--- Comment #77 from Dennis Clarke <dclarke@blastwave.org> ---
In October of 2025 and this bug is now a decade old in "bug years".
* * * COMPAT_FREEBSD11 is still needed * * *
Those must be something like "dog years" that are generally accepted
as a multiple of seven. A reasonable bug in the fast moving world of
computer technology must be even faster moving. I feel a nice multiplier
would be ten. An astonomical "magnitude" as one may say.
Well here we are looking at lang/rust fail to compile from source on
FreeBSD CURRENT on RISC-V as of today :
enceladus# uname -apKU
FreeBSD enceladus 16.0-CURRENT FreeBSD 16.0-CURRENT main-n281153-d1bd541b385d
GENERIC riscv riscv64 1600001 1600001
enceladus#
enceladus# cat
/poudriere/data/logs/bulk/160rv64-latest/2025-10-19_19h55m10s/logs/rust-1.90.0_1.log
MM_CHARSET=UTF-8
LANG=C.UTF-8
WARNING_WAIT=0
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
MAKE_OBJDIR_CHECK_WRITABLE=0
LOCALBASE=/usr/local
USER=root
POUDRIERE_NAME=poudriere-git
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.4.3
MASTERMNT=/poudriere/data/.m/160rv64-latest/ref
DEV_WARNING_WAIT=0
LC_COLLATE=C
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=tmux-256color
OUTPUT_REDIRECTED_STDERR=4
OUTPUT_REDIRECTED=1
PWD=/poudriere/data/.m/160rv64-latest/04/.p
OUTPUT_REDIRECTED_STDOUT=3
NO_WARNING_PKG_INSTALL_EOL=yes
P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS
MASTERNAME=160rv64-latest
SCRIPTPREFIX=/usr/local/share/poudriere
SCRIPTNAME=bulk.sh
OLDPWD=/poudriere/data/.m/160rv64-latest/ref/.p/pool
POUDRIERE_PKGNAME=poudriere-git-3.4.3
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---
---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
MAKE_ARGS=
---End Poudriere Port Flags/Env---
---Begin OPTIONS List---
===> The following configuration options are available for rust-1.90.0_1:
DOCS=on: Build and/or install documentation
GDB=off: Install ports gdb (necessary for debugging rust programs)
LTO=off: Use Link-Time Optimization
PORT_LLVM=off: Build against devel/llvm instead of bundled copy
(experimental)
SOURCES=on: Install source files
WASM=on: Build the WebAssembly target (wasm32-unknown-unknown)
===> Use 'make config' to modify these settings
---End OPTIONS List---
--MAINTAINER--
rust@FreeBSD.org
--End MAINTAINER--
--CONFIGURE_ARGS--
--End CONFIGURE_ARGS--
--CONFIGURE_ENV--
PKG_CONFIG=pkgconf PYTHON="/usr/local/bin/python3.11"
XDG_DATA_HOME=/wrkdirs/usr/ports/lang/rust/work
XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/rust/work
XDG_CACHE_HOME=/wrkdirs/usr/ports/lang/rust/work/.cache
HOME=/wrkdirs/usr/ports/lang/rust/work
TMPDIR="/wrkdirs/usr/ports/lang/rust/work"
PATH=/wrkdirs/usr/ports/lang/rust/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/lang/rust/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig
SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--
--MAKE_ENV--
DESTDIR=/wrkdirs/usr/ports/lang/rust/work/stage LIBGIT2_NO_PKG_CONFIG=1
OPENSSL_DIR="/usr" NINJA_STATUS="[%p %s/%t] " OPENSSLBASE=/usr
OPENSSLDIR=/etc/ssl OPENSSLINC=/usr/include OPENSSLLIB=/usr/lib
RUST_BACKTRACE=1 XDG_DATA_HOME=/wrkdirs/usr/ports/lang/rust/work
XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/rust/work
XDG_CACHE_HOME=/wrkdirs/usr/ports/lang/rust/work/.cache
HOME=/wrkdirs/usr/ports/lang/rust/work
TMPDIR="/wrkdirs/usr/ports/lang/rust/work"
PATH=/wrkdirs/usr/ports/lang/rust/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/lang/rust/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig
MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES
PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe
-march=rv64imafdc -mabi=lp64d -fstack-protector-strong -fno-strict-aliasing "
CPP="cpp" CPPFLAGS="" LDFLAGS=" " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe
-march=rv64imafdc -mabi=lp64d -fstack-protector-strong -fno-strict-aliasing "
BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644"
BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644"
BSD_INSTALL_MAN="install -m 444"
--End MAKE_ENV--
--PLIST_SUB--
PORTDOCS="" PYTHON_INCLUDEDIR=include/python3.11 PYTHON_LIBDIR=lib/python3.11
PYTHON_PLATFORM=freebsd16 PYTHON_SITELIBDIR=lib/python3.11/site-packages
PYTHON_SUFFIX=311 PYTHON_BASESUFFIX=311 PYTHON_TAG=.cpython-311
PYTHON_SOABI=.cpython-311 PYTHON_VER=3.11 PYTHON_BASEVER=3.11
PYTHON_VERSION=python3.11 PYTHON2="@comment " PYTHON3="" OSREL=16.0 PREFIX=%D
LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib
DOCSDIR="share/doc/rust" EXAMPLESDIR="share/examples/rust"
DATADIR="share/rust" WWWDIR="www/rust" ETCDIR="etc/rust"
--End PLIST_SUB--
--SUB_LIST--
PYTHON_INCLUDEDIR=/usr/local/include/python3.11
PYTHON_LIBDIR=/usr/local/lib/python3.11 PYTHON_PLATFORM=freebsd16
PYTHON_SITELIBDIR=/usr/local/lib/python3.11/site-packages PYTHON_SUFFIX=311
PYTHON_BASESUFFIX=311 PYTHON_TAG=.cpython-311 PYTHON_SOABI=.cpython-311
PYTHON_VER=3.11 PYTHON_BASEVER=3.11 PYTHON_VERSION=python3.11
PYTHON2="@comment " PYTHON3="" PREFIX=/usr/local LOCALBASE=/usr/local
DATADIR=/usr/local/share/rust DOCSDIR=/usr/local/share/doc/rust
EXAMPLESDIR=/usr/local/share/examples/rust WWWDIR=/usr/local/www/rust
ETCDIR=/usr/local/etc/rust
--End SUB_LIST--
---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
FORCE_PACKAGE=yes
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
WITH_CCACHE_BUILD=yes
CCACHE_DIR=/root/.ccache
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
GID=0
UID=0
---End make.conf---
--Resource limits--
cpu time (seconds, -t) unlimited
file size (512-blocks, -f) unlimited
data seg size (kbytes, -d) 1048576
stack size (kbytes, -s) 1048576
core file size (512-blocks, -c) unlimited
max memory size (kbytes, -m) unlimited
locked memory (kbytes, -l) unlimited
max user processes (-u) 19558
open files (-n) 8192
virtual mem size (kbytes, -v) unlimited
swap limit (kbytes, -w) unlimited
socket buffer size (bytes, -b) unlimited
pseudo-terminals (-p) unlimited
kqueues (-k) unlimited
umtx shared locks (-o) unlimited
pipebuf (-y) unlimited
--End resource limits--
=======================<phase: check-sanity >============================
===== env: DEVELOPER_MODE=yes DEVELOPER=1 STRICT_DEPENDS=yes USER=root UID=0
GID=0
===> License APACHE20 MIT accepted by the user
===========================================================================
=======================<phase: pkg-depends >============================
===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===> rust-1.90.0_1 depends on file: /usr/local/sbin/pkg - not found
===> Installing existing package /packages/All/pkg-2.3.1.pkg
[160rv64-latest-job-04] Installing pkg-2.3.1...
[160rv64-latest-job-04] Extracting pkg-2.3.1: .......... done
===> rust-1.90.0_1 depends on file: /usr/local/sbin/pkg - found
===> Returning to build of rust-1.90.0_1
===========================================================================
=======================<phase: fetch-depends >============================
===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: fetch >============================
===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0
===> License APACHE20 MIT accepted by the user
===> rust-1.90.0_1 depends on file: /usr/local/sbin/pkg - found
=> rustc-1.90.0-src.tar.xz doesn't seem to exist in /portdistfiles/rust.
=> Attempting to fetch
https://static.rust-lang.org/dist/rustc-1.90.0-src.tar.xz
rustc-1.90.0-src.tar.xz 259 MB 3248 kBps 01m22s
=> 2025-08-07/rustc-1.89.0-riscv64gc-unknown-freebsd.tar.xz doesn't seem to
exist in /portdistfiles/rust.
=> Attempting to fetch
http://distcache.FreeBSD.org/local-distfiles/rust/2025-08-07/rustc-1.89.0-riscv64gc-unknown-freebsd.tar.xz
2025-08-07/rustc-1.89.0-riscv64gc-unknown-freebsd.tar.xz 73 MB 5193
kBps 15s
=> 2025-08-07/rust-std-1.89.0-riscv64gc-unknown-freebsd.tar.xz doesn't seem to
exist in /portdistfiles/rust.
=> Attempting to fetch
http://distcache.FreeBSD.org/local-distfiles/rust/2025-08-07/rust-std-1.89.0-riscv64gc-unknown-freebsd.tar.xz
2025-08-07/rust-std-1.89.0-riscv64gc-unknown-freebsd.tar.xz 23 MB 6222
kBps 04s
=> 2025-08-07/cargo-1.89.0-riscv64gc-unknown-freebsd.tar.xz doesn't seem to
exist in /portdistfiles/rust.
=> Attempting to fetch
http://distcache.FreeBSD.org/local-distfiles/rust/2025-08-07/cargo-1.89.0-riscv64gc-unknown-freebsd.tar.xz
2025-08-07/cargo-1.89.0-riscv64gc-unknown-freebsd.tar.xz 11 MB 7654
kBps 02s
===> Fetching all distfiles required by rust-1.90.0_1 for building
===========================================================================
=======================<phase: checksum >============================
===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0
===> License APACHE20 MIT accepted by the user
===> rust-1.90.0_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by rust-1.90.0_1 for building
=> SHA256 Checksum OK for rust/rustc-1.90.0-src.tar.xz.
=> SHA256 Checksum OK for
rust/2025-08-07/rustc-1.89.0-riscv64gc-unknown-freebsd.tar.xz.
=> SHA256 Checksum OK for
rust/2025-08-07/rust-std-1.89.0-riscv64gc-unknown-freebsd.tar.xz.
=> SHA256 Checksum OK for
rust/2025-08-07/cargo-1.89.0-riscv64gc-unknown-freebsd.tar.xz.
===========================================================================
=======================<phase: extract-depends>============================
===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: extract >============================
===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0
===> License APACHE20 MIT accepted by the user
===> rust-1.90.0_1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by rust-1.90.0_1 for building
===> Extracting for rust-1.90.0_1
=> SHA256 Checksum OK for rust/rustc-1.90.0-src.tar.xz.
=> SHA256 Checksum OK for
rust/2025-08-07/rustc-1.89.0-riscv64gc-unknown-freebsd.tar.xz.
=> SHA256 Checksum OK for
rust/2025-08-07/rust-std-1.89.0-riscv64gc-unknown-freebsd.tar.xz.
=> SHA256 Checksum OK for
rust/2025-08-07/cargo-1.89.0-riscv64gc-unknown-freebsd.tar.xz.
===========================================================================
=======================<phase: patch-depends >============================
===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===========================================================================
=======================<phase: patch >============================
===== env: DEVELOPER_MODE=yes DEVELOPER=1 STRICT_DEPENDS=yes USER=root UID=0
GID=0
===> Patching for rust-1.90.0_1
===> Applying extra patch patches for rust-1.90.0_1 from
/usr/ports/lang/rust/files/riscv64
===> Applying FreeBSD patches for rust-1.90.0_1 from
/usr/ports/lang/rust/files
===========================================================================
=======================<phase: build-depends >============================
===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===> rust-1.90.0_1 depends on file: /usr/local/bin/cmake - not found
===> Installing existing package /packages/All/cmake-core-3.31.9.pkg
[160rv64-latest-job-04] Installing cmake-core-3.31.9...
[160rv64-latest-job-04] `-- Installing expat-2.7.3...
[160rv64-latest-job-04] `-- Extracting expat-2.7.3: .......... done
[160rv64-latest-job-04] `-- Installing jsoncpp-1.9.6_1...
[160rv64-latest-job-04] `-- Extracting jsoncpp-1.9.6_1: .......... done
[160rv64-latest-job-04] `-- Installing libidn2-2.3.8...
[160rv64-latest-job-04] | `-- Installing indexinfo-0.3.1_1...
[160rv64-latest-job-04] | `-- Extracting indexinfo-0.3.1_1: .... done
[160rv64-latest-job-04] | `-- Installing libunistring-1.4.1...
[160rv64-latest-job-04] | `-- Extracting libunistring-1.4.1: .......... done
[160rv64-latest-job-04] `-- Extracting libidn2-2.3.8: .......... done
[160rv64-latest-job-04] `-- Installing libuv-1.51.0...
[160rv64-latest-job-04] `-- Extracting libuv-1.51.0: .......... done
[160rv64-latest-job-04] `-- Installing rhash-1.4.4_1...
[160rv64-latest-job-04] | `-- Installing gettext-runtime-0.23.1...
[160rv64-latest-job-04] | `-- Extracting gettext-runtime-0.23.1: ..........
done
[160rv64-latest-job-04] `-- Extracting rhash-1.4.4_1: .......... done
[160rv64-latest-job-04] Extracting cmake-core-3.31.9: .......... done
===> rust-1.90.0_1 depends on file: /usr/local/bin/cmake - found
===> Returning to build of rust-1.90.0_1
===> rust-1.90.0_1 depends on executable: ninja - not found
===> Installing existing package /packages/All/ninja-1.13.1,4.pkg
[160rv64-latest-job-04] Installing ninja-1.13.1,4...
[160rv64-latest-job-04] `-- Installing python311-3.11.14...
[160rv64-latest-job-04] | `-- Installing libffi-3.5.1...
[160rv64-latest-job-04] | `-- Extracting libffi-3.5.1: .......... done
[160rv64-latest-job-04] | `-- Installing mpdecimal-4.0.1...
[160rv64-latest-job-04] | `-- Extracting mpdecimal-4.0.1: .......... done
[160rv64-latest-job-04] | `-- Installing readline-8.2.13_2...
[160rv64-latest-job-04] | `-- Extracting readline-8.2.13_2: .......... done
[160rv64-latest-job-04] `-- Extracting python311-3.11.14: .......... done
[160rv64-latest-job-04] Extracting ninja-1.13.1,4: ........ done
=====
Message from python311-3.11.14:
--
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:
py311-gdbm databases/py-gdbm@py311
py311-sqlite3 databases/py-sqlite3@py311
py311-tkinter x11-toolkits/py-tkinter@py311
===> rust-1.90.0_1 depends on executable: ninja - found
===> Returning to build of rust-1.90.0_1
===> rust-1.90.0_1 depends on package: pkgconf>=1.3.0_1 - not found
===> Installing existing package /packages/All/pkgconf-2.4.3,1.pkg
[160rv64-latest-job-04] Installing pkgconf-2.4.3,1...
[160rv64-latest-job-04] Extracting pkgconf-2.4.3,1: .......... done
===> rust-1.90.0_1 depends on package: pkgconf>=1.3.0_1 - found
===> Returning to build of rust-1.90.0_1
===> rust-1.90.0_1 depends on file: /usr/local/bin/python3.11 - found
===> rust-1.90.0_1 depends on file: /usr/local/bin/ccache - not found
===> Installing existing package /packages/All/ccache-3.7.12_8.pkg
[160rv64-latest-job-04] Installing ccache-3.7.12_8...
[160rv64-latest-job-04] Extracting ccache-3.7.12_8: .......... done
Create compiler links...
create symlink for cc
create symlink for cc (world)
create symlink for c++
create symlink for c++ (world)
create symlink for CC
create symlink for CC (world)
create symlink for clang
create symlink for clang (world)
create symlink for clang++
create symlink for clang++ (world)
=====
Message from ccache-3.7.12_8:
--
NOTE:
Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for
information on using ccache with FreeBSD ports and src.
===> rust-1.90.0_1 depends on file: /usr/local/bin/ccache - found
===> Returning to build of rust-1.90.0_1
===========================================================================
=======================<phase: lib-depends >============================
===== env: DEVELOPER_MODE=yes USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0
===> rust-1.90.0_1 depends on shared library: libcurl.so - not found
===> Installing existing package /packages/All/curl-8.16.0.pkg
[160rv64-latest-job-04] Installing curl-8.16.0...
[160rv64-latest-job-04] `-- Installing brotli-1.1.0,1...
[160rv64-latest-job-04] `-- Extracting brotli-1.1.0,1: .......... done
[160rv64-latest-job-04] `-- Installing libnghttp2-1.67.1...
[160rv64-latest-job-04] `-- Extracting libnghttp2-1.67.1: .......... done
[160rv64-latest-job-04] `-- Installing libpsl-0.21.5_2...
[160rv64-latest-job-04] `-- Extracting libpsl-0.21.5_2: .......... done
[160rv64-latest-job-04] `-- Installing libssh2-1.11.1,3...
[160rv64-latest-job-04] `-- Extracting libssh2-1.11.1,3: .......... done
[160rv64-latest-job-04] `-- Installing zstd-1.5.7...
[160rv64-latest-job-04] | `-- Installing liblz4-1.10.0,1...
[160rv64-latest-job-04] | `-- Extracting liblz4-1.10.0,1: .......... done
[160rv64-latest-job-04] `-- Extracting zstd-1.5.7: .......... done
[160rv64-latest-job-04] Extracting curl-8.16.0: .......... done
===> rust-1.90.0_1 depends on shared library: libcurl.so - found
(/usr/local/lib/libcurl.so)
===> Returning to build of rust-1.90.0_1
===========================================================================
=>> Recording filesystem state for prebuild... done
=======================<phase: configure >============================
===== env: DEVELOPER_MODE=yes STRICT_DEPENDS=yes USER=root UID=0 GID=0
===> rust-1.90.0_1 depends on file: /usr/local/bin/cmake - found
===> rust-1.90.0_1 depends on executable: ninja - found
===> rust-1.90.0_1 depends on package: pkgconf>=1.3.0_1 - found
===> rust-1.90.0_1 depends on file: /usr/local/bin/python3.11 - found
===> rust-1.90.0_1 depends on file: /usr/local/bin/ccache - found
===> rust-1.90.0_1 depends on shared library: libcurl.so - found
(/usr/local/lib/libcurl.so)
===> Configuring for rust-1.90.0_1
===> FreeBSD 10 autotools fix applied to
/wrkdirs/usr/ports/lang/rust/work/rustc-1.90.0-src/vendor/libssh2-sys-0.3.1/libssh2/config.rpath
Bad system call
=> Sanity check failed: kernel is missing COMPAT_FREEBSD11
=> Aborting build
*** Error code 1
Stop.
make: stopped making "configure" in /usr/ports/lang/rust
=>> Cleaning up wrkdir
===> Cleaning for rust-1.90.0_1
build of lang/rust | rust-1.90.0_1 ended at Sun Oct 19 23:22:55 UTC 2025
build time: 00:33:34
!!! build failure encountered !!!
enceladus#
Well that "Sanity check" seems clear.
--
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
--
You are receiving this mail because:
You are on the CC list for the bug.