!xmLtiCaAJxfhURjrXl:matrix.org

NixOS RISC-V

227 Members
NixOS on RISC-V https://wiki.nixos.org/wiki/RISC-V https://pad.lassul.us/NixOS-riscv64-linux https://github.com/orgs/NixOS/teams/risc-v66 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
25 Apr 2025
@dramforever:matrix.orgdramforeverfor example, your x86_64 to riscv64 cross gcc depends on targetPackages.glibc05:19:37
@outfoxxed:outfoxxed.meoutfoxxed its rather confusing
so pkgs == host packages, buildPkgs = build packages, targetPkgs = confusing
05:21:00
@outfoxxed:outfoxxed.meoutfoxxedis that right05:21:06
@outfoxxed:outfoxxed.meoutfoxxedthis is host x64 target rv64 targetPackages right05:21:54
@dramforever:matrix.orgdramforeverthat's actually a pretty good summary 😆05:23:02
@outfoxxed:outfoxxed.meoutfoxxedhaha05:23:29
@dramforever:matrix.orgdramforeverlet's start from the basics, whenever you build something the build process has (build, host, target)05:24:25
@dramforever:matrix.orgdramforeverwe'll write (b, h, t) from now on05:24:30
@dramforever:matrix.orgdramforeverand you pass localSystem and crossSystem to nixpkgs, let's call those L and C05:24:47
@dramforever:matrix.orgdramforeverwe build pkgs.gcc from that, what happens?05:26:45
@dramforever:matrix.orgdramforever oh btw as i said t doesn't matter if you're not a compiler, so i'll write (b, h, *) in cases where t doesn't matter 05:27:43
@dramforever:matrix.orgdramforeverfirstly, the bootstrap process eventually makes a (L, L, L) gcc05:28:18
@dramforever:matrix.orgdramforeverusing that we build a (L, L, C) gcc (without libc)05:29:25
@dramforever:matrix.orgdramforeverand using that, we build a (L, C, *) glibc05:29:55
@dramforever:matrix.orgdramforeverwe combine the two together to make a (L, L, C) gcc wrapper (contains libc)05:30:15
@outfoxxed:outfoxxed.meoutfoxxedisn't the gcc and glibc build process supposed to be combined in some way nobody else does that makes this overly annoying05:32:00

Show newer messages


Back to Room ListRoom Version: 10