| 17 Feb 2024 |
dramforever | xorgxrdp wouldn't be properly spliced here... but that still doesn't explain what's going on | 19:56:22 |
Alex | 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 ✨ [they/them] (offline) changed their display name from hxr404 ✨ (they/them) to hxr404 ✨ [they/them] (offline). | 00:19:40 |
Nick 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 |
Nick Cao | The problem is not about splicing but it checking for the wrong pkg-config binary. | 03:53:00 |
Nick Cao | It shall be riscv64-unknown-linux-gnu-pkg-config | 03:53:13 |
Nick 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 |
Nick Cao | If you really want some decent remote desktop experience, I would recommend wayvnc (or others), rather than this poorly packaged xrdp. | 03:54:27 |
White 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 |
White 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 |
White Whale | Sometimes I ran into this problem just by running soulseek client or fsck on incorrectly shut down drive | 10:20:23 |