!xmLtiCaAJxfhURjrXl:matrix.org

NixOS RISC-V

208 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-v64 Servers

Load older messages


SenderMessageTime
25 Apr 2025
@dramforever:matrix.orgdramforeveri don't want to spend the hour building a new x86 gcc04:03:27
@outfoxxed:outfoxxed.meoutfoxxedThe intention was to disable hardening in target packages I'll see how it goes with that off04:03:28
@dramforever:matrix.orgdramforevernobody else ran into this because nobody else is overriding the entire freaking stdenv04:03:58
@outfoxxed:outfoxxed.meoutfoxxeddoes beg the question of why that breaks it04:04:47
@outfoxxed:outfoxxed.meoutfoxxedbut I'll give it a shot without overriding that04:06:05
@outfoxxed:outfoxxed.meoutfoxxedcurrently building04:06:08
@dramforever:matrix.orgdramforever.... snowball hasn't had a release since 2021, but is still in pretty active development it seems?04:16:46
@dramforever:matrix.orgdramforeverfixed for some definition of fixed https://github.com/NixOS/nixpkgs/pull/40163204:56:20
@dramforever:matrix.orgdramforever @outfoxxed:outfoxxed.me: also, just for the record, you basically never need targetPackages unless you're building a compiler 05:19:05
@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
@outfoxxed:outfoxxed.meoutfoxxedso does this mean a "build on L, runs/links on C" glibc?05:34:14
@dramforever:matrix.orgdramforevercorrect05:34:53
@outfoxxed:outfoxxed.meoutfoxxedso what makes gcc single-target? just design choices on their end05:35:40
@dramforever:matrix.orgdramforeveryes05:35:48
@outfoxxed:outfoxxed.meoutfoxxedmost other compilers are (L, L, *) right05:36:04

Show newer messages


Back to Room ListRoom Version: 10