| 15 Apr 2026 |
zoë (@blokyk) | hmm, i might just be dumb... i though that .stdenv was basically just like an empty mkDerivation { } but I guess not also i got confused by mkShell having which cc point to my system's cc, but actually $CC is correct it seems. it's just going to be annoying since some of the stuff i want to use has cc in its makefiles instead of $CC | 10:21:25 |
zoë (@blokyk) | Redacted or Malformed Event | 10:50:43 |
zoë (@blokyk) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; }
in
mkLLVMShell { }
| 10:50:51 |
zoë (@blokyk) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; }
in
mkLLVMShell { }
$ nix-shell -E '(import <nixpkgs> {}).pkgsCross.riscv64.callPackage ./shell.nix {}'
[nix-shell:~] $ $CC --version
clang version 22.1.2
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nix/store/nqrpsik93243zfbysab689b4598x0srw-clang-22.1.2/bin
:(
| 10:53:55 |
zoë (@blokyk) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; }
in
mkLLVMShell { }
$ nix-shell -E '(import <nixpkgs> {}).pkgsCross.riscv64.callPackage ./shell.nix {}'
[nix-shell:~]$ $CC --version
clang version 22.1.2
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nix/store/nqrpsik93243zfbysab689b4598x0srw-clang-22.1.2/bin
:(
| 10:54:23 |
zoë (@blokyk) | * ok so i wasn't going crazy: trying it out with just nix-shell and hard-coded pkgsCross.riscv32. in front of everything works, but for some reason callPackage/splicing doesn't work :(
# shell.nix
{
llvmPackages_latest,
mkShell
}:
let mkLLVMShell = mkShell.override { inherit (llvmPackages_latest) stdenv; };
in
mkLLVMShell { }
$ nix-shell -E '(import <nixpkgs> {}).pkgsCross.riscv64.callPackage ./shell.nix {}'
[nix-shell:~]$ $CC --version
clang version 22.1.2
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /nix/store/nqrpsik93243zfbysab689b4598x0srw-clang-22.1.2/bin
:(
| 10:55:24 |
dramforever | stdenv.cc is the toolchain | 13:01:19 |
dramforever | but otherwise yeah pkgsCross.riscv32.mkShell should get you what you want | 13:03:23 |
zoë (@blokyk) | yeah idk what i did, i was just confused | 13:03:49 |
zoë (@blokyk) | my actual code was more complicated than just an empty mkShell, but working my way back up to it rather than trying to force the existing code into cross-compilation worked better | 13:05:02 |
zoë (@blokyk) | * my actual nix code was more complicated than just an empty mkShell, but working my way back up to it rather than trying to force the existing nnix code into cross-compilation worked better | 13:06:44 |
Alex | cc is never a cross compiler in Nixpkgs. That cc probably comes from pkgsBuildBuild and exists so that builds can compile build tools that they can then use later in the build.
Yes, anything that hardcodes cc (or worse gcc) needs to be patched to support cross. | 13:09:08 |
| @rasmata:matrix.org joined the room. | 21:44:25 |
| @rasmata:matrix.org left the room. | 21:44:28 |
| 18 Apr 2026 |
| mlyx joined the room. | 12:39:21 |
| 21 Apr 2026 |
| zoë (@blokyk) changed their display name from zoë (she/her) to zoë (@blokyk). | 03:08:42 |
| 23 Apr 2026 |
| grw00 joined the room. | 15:30:57 |
| 27 Apr 2026 |
PukNgae Cryolitia🏳️⚧️ |  Download 4381.jpg | 06:26:44 |
PukNgae Cryolitia🏳️⚧️ |  Download 4382.jpg | 06:26:45 |
PukNgae Cryolitia🏳️⚧️ | successfully boot nixos on emmc on milk-v duo module 01 | 06:27:07 |
| 29 Apr 2026 |
dramforever | so uh pkgsCross.riscv64.linux is broken on master | 10:50:30 |
dramforever | this will be fun | 10:50:33 |
dramforever | oh nevermind i got it | 10:51:10 |
dramforever | i got mega distracted but it's this https://github.com/NixOS/nixpkgs/pull/514720 | 13:26:53 |
JamieMagee | I ran into an issue while adding RISC-V runner support to nixpkgs-review-gha: https://github.com/Defelo/nixpkgs-review-gha/pull/126#issuecomment-4346267863
error: Cannot build '/nix/store/c9gf76p92n6n4933ilifdxi2npsz6ji0-expand-response-params.drv'.
Reason: builder failed with exit code 139.
Output paths:
/nix/store/pg11yjn6k2p8ciadj750vrq3nndkzlzf-expand-response-params
Last 7 log lines:
> Running phase: unpackPhase
> Running phase: patchPhase
> Running phase: updateAutotoolsGnuConfigScriptsPhase
> Running phase: configurePhase
> no configure script, doing nothing
> Running phase: buildPhase
> /nix/store/hf467shdmb2grak3wsw0nb1x8qnn0vw1-bootstrap-stage1-stdenv-linux/setup: line 1769: 30 Segmentation fault NIX_CC_USE_RESPONSE_FILE=0 "$CC" -std=c99 -O3 -o "expand-response-params" expand-response-params.c
Is this just an incompatibility with the C910 cores in the EM-RV1 boards?
| 20:43:18 |
Tristan Ross | Are you running on Ubuntu? | 21:30:36 |
Tristan Ross | I wonder if sysctl -w vm.mmap_min_addr=4096 would fix it | 21:31:03 |
Tristan Ross | I have seen similar problems before | 21:31:13 |
JamieMagee | Yeah, it's an Ubuntu 24.04 based image. Here's the definition: https://github.com/riseproject-dev/riscv-runner-images | 21:35:20 |
Tristan Ross | Ah yeah, then it might be the same problem I had with Ubuntu on the DC ROMA II | 21:43:08 |