| 22 Jan 2026 |
crazychaoz | so i am trying to get a amd64 -> arch64 rust cross build bit-for-bit equal to the emulated version, but (aside from other issues) i cannot get the symbols in the same order
aarch64 native and aarch64 emulated on arm64 already produce the same binary (to be expected tbh)
does anybody here know why or knows a resource (aside from reading rustc source) on ironing out my build ? | 13:08:28 |
K900 | Honestly I don't think that's a realistic expectation | 13:09:37 |
K900 | It's very likely your linker and not rustc, if you want to go down that rabbit hole | 13:09:49 |
K900 | But in general, cross is its own thing and you shouldn't be expecting fully identical behavior | 13:10:17 |
crazychaoz | ack, but it feels soooo close | 13:14:23 |
Grimmauld (any/all) | it would be cool, because you could then more easily mix cross and native builds for the same target | 13:14:50 |
crazychaoz | yeah
and in my case: cross compiling aarch64 is soo much faster than emu or native on a raspi, but only emu or native produce the "expected" result | 13:17:24 |
crazychaoz |  Download image.png | 13:20:17 |
crazychaoz | guess the emu: | 13:20:21 |
| Moved to: @astro:c3d2.de changed their display name from Astro to Moved to: @astro:c3d2.de. | 21:39:12 |
| 23 Jan 2026 |
| blitz joined the room. | 14:11:57 |
blitz | Hey cross-compilation gurus! :) Does anyone have a minute to look at this: https://github.com/NixOS/nixpkgs/issues/482970 | 14:12:35 |
blitz | I really wonder why building the python bcrypt package fails in this scenario, because it should "just" be the x86 package (which works fine) | 14:13:02 |
| 24 Jan 2026 |
| ShamrockLee (Yueh-Shun Li) joined the room. | 15:40:48 |
| 25 Jan 2026 |
matthewcroughan | Anyone know how to fix this? | 13:07:24 |
matthewcroughan | aarch64-unknown-linux-musl-clang -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"aarch64"' -DCONF_OSTYPE='"linux-musl"' -DCONF_MACHTYPE='"aarch64-unknown-linux-musl"' -DCONF_VENDOR='"unknown"' -DLOCALEDIR='"/nix/store/n0ydjr92z0vxkhvyyimljsgawbfjfs0k-bash-aarch64-unknown-linux-musl-5.3p9/share/locale"' -DPACKAGE='"bash"' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -Wno-parenth>
In file included from mkbuiltins.c:46:
../bashansi.h:44:23: error: 'bool' cannot be defined via 'typedef'
44 | typedef unsigned char bool;
| ^~~~
../bashansi.h:44:23: note: 'bool' is a keyword with '-std=c23' onwards
../bashansi.h:44:1: warning: useless type name in empty declaration
44 | typedef unsigned char bool;
| ^~~~~~~
make[1]: *** [Makefile:231: mkbuiltins.o] Error 1
make[1]: Leaving directory '/build/bash-5.3/builtins'
make: *** [Makefile:822: builtins/builtext.h] Error 1
make: *** Waiting for unfinished jobs....
| 13:07:28 |
matthewcroughan | It happens on staging-next and master, probably because of https://github.com/NixOS/nixpkgs/commit/6a6c4961a243439257f1293f3cfa3ac886bfe74e | 13:07:55 |
matthewcroughan | This is gnu-llvm-musl | 13:08:13 |
nim65s | looks like a GCC upgrade to 15 broke that | 13:08:38 |
nim65s | ref https://github.com/NixOS/nixpkgs/issues/475479 | 13:09:07 |
nim65s | oh, wait, no | 13:09:57 |
matthewcroughan | Bash is quite an odd one though | 13:10:00 |
matthewcroughan | Because 99% of the builds work | 13:10:07 |
matthewcroughan | I guess this is the runtime bash for the system | 13:10:14 |
dramforever | this shouldn't change anything since it's stdenv.hostPlatform.isFreeBSD | 13:10:14 |
matthewcroughan | That might be the problem | 13:10:38 |
matthewcroughan | maybe I need it in my case | 13:10:47 |
dramforever | how we have ended up std=c23 is certainly a mystery... | 13:11:17 |
matthewcroughan | But I forked nixpkgs and added it unconditionally and it seems to crash still | 13:11:41 |
matthewcroughan | diff --git a/pkgs/shells/bash/5.nix b/pkgs/shells/bash/5.nix
index 86d3727cd94f..8e9fe8ff751b 100644
--- a/pkgs/shells/bash/5.nix
+++ b/pkgs/shells/bash/5.nix
@@ -85,11 +85,9 @@ lib.warnIf (withDocs != null)
#
# Once FreeBSD is built with a newer version of Clang, this hack
# should be removed.
- +
- lib.optionalString (stdenv.hostPlatform.isFreeBSD && stdenv.hostPlatform != stdenv.buildPlatform)
- ''
- -std=c23
- '';
+ + ''
+ -std=c23
+ '';
| 13:11:43 |