| 9 Jan 2026 |
K900 | But what is in your buildInputs? | 15:53:02 |
magnetophon | buildInputs =
[
mpv-unwrapped
vulkan-loader
libxkbcommon
]
++ lib.optionals stdenv.isLinux [
alsa-lib
wayland
# X11 / XCB stack (required by winit + xkbcommon-dl)
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXrandr
xorg.libXinerama
xorg.libXpresent
xorg.libXfixes
xorg.libXext
# xorg.libXss
xorg.libxcb
# xorg.libX11-xcb
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
darwin.apple_sdk.frameworks.CoreGraphics
darwin.apple_sdk.frameworks.CoreServices
darwin.apple_sdk.frameworks.Foundation
darwin.apple_sdk.frameworks.Metal
darwin.apple_sdk.frameworks.QuartzCore
];
| 15:53:35 |
K900 | Hmm weird | 15:54:29 |
K900 | What does patchelf --print-rpath $out/bin/radiance say? | 15:54:38 |
magnetophon | patchelf --print-rpath /nix/store/yhg16w5915bbvpadk8ibxj9x8kria7pw-radiance-0.7.0/bin/radiance
/nix/store/5vwc8q3c7hn7s01qbpsicv4zjk3p2nci-mpv-0.41.0/lib:/nix/store/f0mf3rlv29ql40qx36kqd2jzabd1m0s0-alsa-lib-1.2.14/lib:/nix/store/ii3ybky5dqjikcrw7vdnh1j76ssy0ycm-libx11-1.8.12/lib | 15:55:40 |
magnetophon | hmm, so it's missing a lot, right?
| 15:56:02 |
K900 | OK so that's not in there | 15:56:03 |
K900 | That's interesting | 15:56:07 |
K900 | Oh, you probably need to also --add-needed it | 15:56:13 |
magnetophon | I did:
preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
patchelf \
--set-rpath --add-needed "${lib.makeLibraryPath buildInputs}:$out/lib" \
$out/bin/radiance
'';
And now I get:
radiance> Running phase: fixupPhase
radiance> patchelf: getting info about '/nix/store/5vwc8q3c7hn7s01qbpsicv4zjk3p2nci-mpv-0.41.0/lib:/nix/store/jzng5i2xwsdlf3h60a5s6qzr2808c9zc-vulkan-loader-1.4.335.0/lib:/nix/store/91mg839gbvgz1svzlh1jvz0pqvx7ylwh-libxkbcommon-1.11.0/lib:/nix/store/f0mf3rlv29ql40qx36kqd2jzabd1m0s0-alsa-lib-1.2.14/lib:/nix/store/7m6x6b4ljrkmkbhvbxdcacpraxj49xkj-wayland-1.24.0/lib:/nix/store/ii3ybky5dqjikcrw7vdnh1j76ssy0ycm-libx11-1.8.12/lib:/nix/store/bb5xxw11ndww7iivcmdpxga9n1da24vg-libxcursor-1.2.3/lib:/nix/store/x1f9a0qsj6a1y5nf178naagm2vbxnazc-libxi-1.8.2/lib:/nix/store/dyn0y5clf5b556yqwmj4841h43hz75p6-libxrandr-1.5.4/lib:/nix/store/0r6d7iw0q9wgxxj28zy87n1gjwvk0klp-libxinerama-1.1.5/lib:/nix/store/hlkf0rilmbwi8hvbvc9rswglmsc1mpq5-libxpresent-1.0.2/lib:/nix/store/2dac9gfiim278y2c6mxrklpzzfka7ra1-libxfixes-6.0.2/lib:/nix/store/zshby6nalhw4mvap0rr97hv042808c2k-libxext-1.3.6/lib:/nix/store/m0jzvlr5gl7zvdn0fr7c09mjwx65fx58-libxcb-1.17.0/lib:/nix/store/d3dgbv5q78fdcswpznc20ipnjdna4mcp-radiance-0.7.0/lib': No such file or directory
| 16:03:18 |
K900 | Not like that | 16:03:33 |
K900 | You want --add-rpath <that stuff> --add-needed libxkbcommon-x11.so | 16:03:48 |
magnetophon | ah, thanks | 16:04:09 |
magnetophon | YES! It runs now!
Thank you so much!
Next step: minimize rpath. :) | 16:14:49 |
Ralith | has anyone worked out why rustc started stripping rpath by default some time in the last year or so? | 20:50:31 |
| 10 Jan 2026 |
| catbrained (she/her) changed their display name from catbrained to catbrained (she/her). | 00:28:18 |
| eihqnh joined the room. | 04:58:03 |
| eihqnh set a profile picture. | 05:04:37 |
| spectabilis changed their profile picture. | 06:42:11 |
| 11 Jan 2026 |
| ivan joined the room. | 01:45:17 |
| @sammy:cherrykitten.gay left the room. | 14:36:32 |
| ghpzin changed their display name from ghpzin (moved to @ghpzin:envs.net) to ghpzin. | 15:04:52 |
| @ghpzin:envs.net left the room. | 16:21:21 |
| 12 Jan 2026 |
| jimmie joined the room. | 08:06:07 |
| jimmie changed their display name from zigzen to jimmie. | 08:12:31 |
| isabel changed their profile picture. | 18:59:37 |
n8henrie | Hi all -- anybody doing much bare-metal embedded work with nix + rust?
I'm a novice and just learning for fun, but can't seem to get a build to succeed due to multiple conflicting dependencies for build-std for an attiny85. Builds and runs on my aarch64-darwin machine outside of nix, just trying to see if I can get it to work in nix as well (via oxalica/rust-overlay).
For my prior ESP32C3 projects, I know that build-std often requires adding some additional dependencies that are not needed when building outside of nix tooling; I've previously added these to the dev requirements.
Unfortunately in this case, I'm finding that both wasi = "0.14.4" and wasi = "0.11.0" are required, and obviously I can't list both.
Does anyone know of a workaround for this? It looks like naersk may have support for an "additional" Cargo.lock, but I'd rather not learn a new pattern if there is a way to accomplish this with standard nix tooling (and oxalica for nightly).
Thanks for any suggestions!
My WIP: https://github.com/n8henrie/attiny85-relay/tree/nix
| 22:46:08 |
emily | you can probably lockFileContents = builtins.readFile ./Cargo.lock + '' … ''; | 23:08:02 |
emily | you could also consider just setting a cargoHash rather than importing the lock file directly | 23:08:14 |
emily | (but ofc will have to update it on every lock file change) | 23:08:19 |