Hi All,
The latest version of libsodium failed to build on aarch64.
Based on this I found this issue in the libsodium github.
https://github.com/jedisct1/libsodium/issues/1502
The issue has been fixed and closed and is expected to become available in
libsodium-1.0.21-stable.
We could revert the update and wait for the new version to be issued. However
the fix was implemented on Jan 7th and no new version has been issued yet, so I
could also create a patch to apply to fix the build for aarch64.
What is the view on which way to approach this?
Regards,
Adolf.
On 07/04/2026 19:54, IPFire Nightly Builder wrote:
https://nightly.ipfire.org/next/2026-04-07%2016%3A40%3A39%20%2B0000-2798c0ad/aarch64
commit 2798c0adfd663013b1b5abc6b56ec71915b7eb54
Author: Adolf Belka <[email protected]>
Date: Tue Apr 7 17:10:49 2026 +0200
core202: Ship xz
Signed-off-by: Adolf Belka <[email protected]>
Signed-off-by: Michael Tremer <[email protected]>
https://git.ipfire.org/?p=ipfire-2.x.git;a=shortlog;h=2798c0adfd663013b1b5abc6b56ec71915b7eb54
Packaged toolchain compilation
Building IPFire
stage2 [
1 ][ DONE ]
linux (6.18.7) HEADERS=1 [
27 ][ DONE ]
man-pages (6.17) [
17 ][ DONE ]
glibc (2.43) [
5:58 ][ DONE ]
tzdata (2026a) [
3 ][ DONE ]
cleanup-toolchain [
0 ][ DONE ]
zlib-ng (2.3.3) [
6 ][ DONE ]
zstd (1.5.7) [
1 ][ DONE ]
autoconf (2.73) [
1 ][ DONE ]
autoconf-archive (2024.10.16) [
3 ][ DONE ]
automake (1.18.1) [
2 ][ DONE ]
help2man (1.49.3) [
1 ][ DONE ]
libtool (2.5.4) [
7 ][ DONE ]
binutils (2.46.0) [
1:05 ][ DONE ]
gmp (6.3.0) [
36 ][ DONE ]
mpfr (4.2.2) [
18 ][ DONE ]
libmpc (1.4.0) [
7 ][ DONE ]
pkg-config (0.29.2) [
25 ][ DONE ]
libxcrypt (4.5.2) [
17 ][ DONE ]
file (5.47) [
8 ][ DONE ]
gcc (15.2.0) [
5:59 ][ DONE ]
attr (2.5.2) [
5 ][ DONE ]
acl (2.3.2) [
8 ][ DONE ]
sed (4.9) [
27 ][ DONE ]
berkeley (5.3.28) [
26 ][ DONE ]
coreutils (9.10) [
1:12 ][ DONE ]
iana-etc (20260327) [
1 ][ DONE ]
m4 (1.4.21) [
43 ][ DONE ]
bison (3.8.2) [
31 ][ DONE ]
ncurses (6.6) [
38 ][ DONE ]
perl (5.36.0) [
2:09 ][ DONE ]
readline (8.3) [
15 ][ DONE ]
bzip2 (1.0.8) [
2 ][ DONE ]
xz (5.8.3) [
31 ][ DONE ]
lzip (1.25) [
2 ][ DONE ]
pcre (8.45) [
11 ][ DONE ]
pcre2 (10.47) [
8 ][ DONE ]
gettext (1.0) [
3:51 ][ DONE ]
bash (5.3) [
29 ][ DONE ]
diffutils (3.12) [
38 ][ DONE ]
ed (1.22.2) [
0 ][ DONE ]
findutils (4.10.0) [
41 ][ DONE ]
flex (2.6.4) [
8 ][ DONE ]
gawk (5.3.2) [
16 ][ DONE ]
go (1.20.4) [
23 ][ DONE ]
grep (3.12) [
39 ][ DONE ]
groff (1.24.1) [
56 ][ DONE ]
gperf (3.3) [
11 ][ DONE ]
gzip (1.14) [
18 ][ DONE ]
hostname (3.20) [
1 ][ DONE ]
whois (5.6.5) [
0 ][ DONE ]
kbd (2.9.0) [
17 ][ DONE ]
less (692) [
4 ][ DONE ]
procps (4.0.6) [
21 ][ DONE ]
make (4.4.1) [
15 ][ DONE ]
libpipeline (1.5.8) [
22 ][ DONE ]
man (2.13.1) [
58 ][ DONE ]
net-tools (2.10) [
1 ][ DONE ]
patch (2.8) [
24 ][ DONE ]
psmisc (23.7) [
7 ][ DONE ]
shadow (4.18.0) [
19 ][ DONE ]
sysklogd (2.7.2) [
4 ][ DONE ]
sysvinit (3.14) [
1 ][ DONE ]
tar (1.35) [
37 ][ DONE ]
texinfo (7.2) [
42 ][ DONE ]
util-linux (2.41.2) [
38 ][ DONE ]
vim (9.2.0305) [
1:03 ][ DONE ]
e2fsprogs (1.47.4) [
17 ][ DONE ]
jq (1.8.1) [
11 ][ DONE ]
configroot [
1 ][ DONE ]
initscripts [
1 ][ DONE ]
backup [
0 ][ DONE ]
rust (1.92.0) [
17 ][ DONE ]
openssl (3.6.1) [
2:54 ][ DONE ]
popt (1.19) [
5 ][ DONE ]
libedit (20251016-3.1) [
7 ][ DONE ]
expat (2.7.5) [
8 ][ DONE ]
libffi (3.5.2) [
8 ][ DONE ]
gdbm (1.26) [
13 ][ DONE ]
sqlite (3510300) [
56 ][ DONE ]
python3 (3.10.8) [
56 ][ DONE ]
python3-wheel (0.45.1) [
0 ][ DONE ]
python3-toml (0.10.2) [
1 ][ DONE ]
python3-setuptools (80.9.0) [
2 ][ DONE ]
python3-pyproject2setuppy (22) [
1 ][ DONE ]
python3-packaging (25.0) [
1 ][ DONE ]
python3-pep517 (0.13.0) [
0 ][ DONE ]
python3-build (0.8.0) [
1 ][ DONE ]
python3-install (0.0.3) [
1 ][ DONE ]
python3-urllib3 (1.26.12) [
1 ][ DONE ]
python3-charset-normalizer (2.1.1) [
0 ][ DONE ]
python3-idna (3.4) [
1 ][ DONE ]
python3-certifi (2022.9.24) [
1 ][ DONE ]
python3-requests (2.28.1) [
1 ][ DONE ]
python3-docutils (0.19) [
2 ][ DONE ]
python3-flit (3.7.1) [
1 ][ DONE ]
python3-more_itertools (10.7.0) [
1 ][ DONE ]
cython (3.2.4) [
24 ][ DONE ]
ninja (1.13.2) [
1 ][ DONE ]
meson (1.10.1) [
2 ][ DONE ]
pam (1.7.2) [
9 ][ DONE ]
libcap (2.77) [
2 ][ DONE ]
libcap-ng (0.9.2) [
14 ][ DONE ]
libpcap (1.10.6) [
6 ][ DONE ]
ppp (2.5.2) [
19 ][ DONE ]
pptp (1.10.0) [
0 ][ DONE ]
unzip (60) [
3 ][ DONE ]
which (2.23) [
3 ][ DONE ]
bc (1.08.1) [
3 ][ DONE ]
cpio (2.15) [
28 ][ DONE ]
libaio (0.3.113) [
1 ][ DONE ]
freetype (2.14.3) [
5 ][ DONE ]
jansson (2.15.0) [
6 ][ DONE ]
libmnl (1.0.5) [
3 ][ DONE ]
libnfnetlink (1.0.2) [
3 ][ DONE ]
libnetfilter_queue (1.0.5) [
4 ][ DONE ]
libnetfilter_conntrack (1.1.1) [
5 ][ DONE ]
libnetfilter_cthelper (1.0.1) [
3 ][ DONE ]
libnetfilter_cttimeout (1.0.1) [
3 ][ DONE ]
iptables (1.8.13) [
8 ][ DONE ]
iproute2 (6.17.0) [
3 ][ DONE ]
screen (5.0.1) [
5 ][ DONE ]
elfutils (0.194) [
14 ][ DONE ]
libconfig (1.8.1) [
18 ][ DONE ]
curl (8.19.0) [
38 ][ DONE ]
libarchive (3.8.6) [
30 ][ DONE ]
cmake (4.1.1) [
27 ][ DONE ]
json-c (0.18) [
8 ][ DONE ]
tcl (8.6.14) [
31 ][ DONE ]
expect (5.45.4) [
8 ][ DONE ]
python3-MarkupSafe (2.1.3) [
1 ][ DONE ]
python3-Jinja2 (3.1.2) [
1 ][ DONE ]
kmod (34.2) [
3 ][ DONE ]
systemd (258) [
25 ][ DONE ]
libusb (1.0.29) [
6 ][ DONE ]
mdadm (4.6) [
10 ][ DONE ]
dracut-ng (108) [
2 ][ DONE ]
lvm2 (2.03.39) [
48 ][ DONE ]
multipath-tools (0.8.9) [
2 ][ DONE ]
glib (2.87.0) [
28 ][ DONE ]
json-glib (1.10.6) [
3 ][ DONE ]
libgudev (238) [
2 ][ DONE ]
libgpg-error (1.58) [
18 ][ DONE ]
libgcrypt (1.12.0) [
24 ][ DONE ]
libassuan (3.0.2) [
9 ][ DONE ]
nettle (3.10.2) [
11 ][ DONE ]
libsodium (1.0.21) [
12 ][ FAIL ]
/usr/lib/gcc/aarch64-unknown-linux-gnu/15.2.0/include/arm_neon.h:11566:38:
note: expected 'uint8x16_t' but argument is of type 'BlockVec' {aka
'uint64x2_t'}
11566 | vextq_u8 (uint8x16_t __a, uint8x16_t __b, __const int __c)
| ~~~~~~~~~~~^~~
crypto_ipcrypt/ipcrypt_armcrypto.c:356:60: error: incompatible type for
argument 1 of 'vorrq_u8'
356 | v = vreinterpretq_u64_u8(vorrq_u8(shl,
carries));
| ^~~
| |
| BlockVec {aka
uint64x2_t}
/usr/lib/gcc/aarch64-unknown-linux-gnu/15.2.0/include/arm_neon.h:1193:22:
note: expected 'uint8x16_t' but argument is of type 'BlockVec' {aka
'uint64x2_t'}
1193 | vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
| ~~~~~~~~~~~^~~
crypto_ipcrypt/ipcrypt_armcrypto.c:356:65: error: incompatible type for
argument 2 of 'vorrq_u8'
356 | v = vreinterpretq_u64_u8(vorrq_u8(shl,
carries));
| ^~~~~~~
| |
| BlockVec
{aka uint64x2_t}
/usr/lib/gcc/aarch64-unknown-linux-gnu/15.2.0/include/arm_neon.h:1193:38:
note: expected 'uint8x16_t' but argument is of type 'BlockVec' {aka
'uint64x2_t'}
1193 | vorrq_u8 (uint8x16_t __a, uint8x16_t __b)
| ~~~~~~~~~~~^~~
make[4]: *** [Makefile:2712:
crypto_ipcrypt/libarmcrypto_la-ipcrypt_armcrypto.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/usr/src/libsodium-1.0.21/src/libsodium'
make[3]: *** [Makefile:3715: all-recursive] Error 1
make[3]: Leaving directory '/usr/src/libsodium-1.0.21/src/libsodium'
make[2]: *** [Makefile:413: all-recursive] Error 1
make[2]: Leaving directory '/usr/src/libsodium-1.0.21/src'
make[1]: *** [Makefile:528: all-recursive] Error 1
make[1]: Leaving directory '/usr/src/libsodium-1.0.21'
make: *** [libsodium:77: /usr/src/log/libsodium-1.0.21] Error 2
make: Leaving directory '/usr/src/lfs'
ERROR: Building libsodium [ FAIL ]
Check /build/nightly/next/log_aarch64/_build.ipfire.log for errors if
applicable[ FAIL ]