!xmLtiCaAJxfhURjrXl:matrix.org

NixOS RISC-V

235 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-v70 Servers

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


SenderMessageTime
17 Feb 2024
@dramforever:matrix.orgdramforeverxorgxrdp wouldn't be properly spliced here... but that still doesn't explain what's going on19:56:22
@alex:tunstall.xyzAlex
In reply to @SeTSeR:matrix.org
Hello, I'm trying to build NixOS image for Starfive VisionFive 2 using this repo:
https://github.com/NickCao/nixos-riscv
I was able to build vanilla image, but the problems arose when I tried to add `xrdp` to it. Compilation of xrdp began to fail with bizarre errors on `pkg-config` missing. I looked into derivation for xrdp and found out that for some reason that `xorgxrdp` has dependency on `pkg-config` from host, not from build. It's very strange, given that it is placed in `nativeBuildInputs`, just like `autoconf` and `automake`, which behave correctly:
https://github.com/NixOS/nixpkgs/blob/d934204a0f8d9198e1e4515dd6fec76a139c87f0/pkgs/applications/networking/remote/xrdp/default.nix#L49
How can this be? How can I fix this?

Unfortunately, such errors seem to be fairly common in wrapped packages (which is the case with pkg-config).

I couldn't tell you why the splicing is going wrong, but perhaps overriding xrdp to use pkg-config-unwrapped will work?
If it does, something in the wrapper is causing splicing to break.

21:10:37
18 Feb 2024
@hxr404:tchncs.dehxr404 ✨ [they/them] (offline) changed their display name from hxr404 ✨ (they/them) to hxr404 ✨ [they/them] (offline).00:19:40
@nickcao:nichi.coNick Cao
diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix
index c9f679d9e124..700a040e9f14 100644
--- a/pkgs/applications/networking/remote/xrdp/default.nix
+++ b/pkgs/applications/networking/remote/xrdp/default.nix
@@ -58,6 +58,9 @@ let
       substituteInPlace configure.ac \
         --replace 'moduledir=`pkg-config xorg-server --variable=moduledir`' "moduledir=$out/lib/xorg/modules" \
         --replace 'sysconfdir="/etc"' "sysconfdir=$out/etc"
+
+      substituteInPlace bootstrap \
+        --replace-fail "command -v pkg-config" "command -v $PKG_CONFIG"
     '';

     preConfigure = "./bootstrap";
@@ -94,10 +97,13 @@ let
       substituteInPlace sesman/xauth.c --replace "xauth -q" "${xorg.xauth}/bin/xauth -q"

       substituteInPlace configure.ac --replace /usr/include/ ""
+
+      substituteInPlace bootstrap librfxcodec/bootstrap \
+        --replace-fail "command -v pkg-config" "command -v $PKG_CONFIG"
     '';

     preConfigure = ''
-      (cd librfxcodec && ./bootstrap && ./configure --prefix=$out --enable-static --disable-shared)
+      (cd librfxcodec && ./bootstrap && ./configure --prefix=$out --enable-static --disable-shared --host=${stdenv.hostPlatform.config})
       ./bootstrap
     '';
     dontDisableStatic = true;
03:52:38
@nickcao:nichi.coNick CaoThe problem is not about splicing but it checking for the wrong pkg-config binary.03:53:00
@nickcao:nichi.coNick CaoIt shall be riscv64-unknown-linux-gnu-pkg-config03:53:13
@nickcao:nichi.coNick Cao(This won't completely fix cross compilation either, there are still other issues like: https://github.com/neutrinolabs/xrdp/issues/1292)03:53:39
@nickcao:nichi.coNick CaoIf you really want some decent remote desktop experience, I would recommend wayvnc (or others), rather than this poorly packaged xrdp.03:54:27
@SeTSeR:matrix.orgWhite Whale Thanks, I’ll try wayvnc. I also tried TigerVNC, but it also fails, trying to run the wrong gettext, hope `wayvnc` will work 08:17:35
@SeTSeR:matrix.orgWhite Whale I also encountered a kernel panic on upstream kernel:
https://github.com/starfive-tech/linux/issues/132
I was able to stable reproduce this on any nix-related command, so I’m currently unable to use nix on my machine. For a long time I used 5.15 kernel from old `devel` branch, but after update of default GCC to 13 I was unable to boot this kernel, as the old kernel doesn’t seem to support modules built by new GCC. I think I can set old compiler for kernel explicitly, but maybe there is a way to debug this kernel panic?

The problem seems to be very old, I think I tried to switch to upstream kernel from the start of my journey with VF2, and on every attempt I encountered this panic.
10:18:09
@SeTSeR:matrix.orgWhite Whale Sometimes I ran into this problem just by running soulseek client or fsck on incorrectly shut down drive 10:20:23

Show newer messages


Back to Room ListRoom Version: 10