!eWOErHSaiddIbsUNsJ:nixos.org

NixOS CUDA

281 Members
CUDA packages maintenance and support in nixpkgs | https://github.com/orgs/NixOS/projects/27/ | https://nixos.org/manual/nixpkgs/unstable/#cuda57 Servers

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


SenderMessageTime
7 Nov 2025
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) SomeoneSerge (back on matrix) Gaétan Lepage this is kind of what I mentioned in the weekly meeting about needing to remove the stubs from the runpath; it doesn't do everything but it's a start. For example, this should unbreak packages which link against stubs and don't use autoAddDriverRunpath --in that case the runpath wouldn't be prefixed by /run/opengl-driver/lib so the stubs would be discovered and loaded and runtime would fail. 09:48:48
@glepage:matrix.orgGaétan LepageOk neat!09:53:37
@daniel-fahey:matrix.orgDaniel FaheyReally, really high quality bash, fan of Wooledge I presume? And the integration with the Nix for the testing 👨‍🍳 😘, thanks for exposing me to this. I did a lot of bash in my old job inside Makefiles, looking at this has made me remember how much I love bash. Sorry for my tongue in cheek Python remark.11:01:25
@ss:someonex.netSomeoneSerge (back on matrix)This sounds like bootstrap hell?13:22:29
@ss:someonex.netSomeoneSerge (back on matrix)

Gonna read, but what I wanted to ask when you were leaving was that we had already introduced some complex bash logic for ensuring the order of hooks, which was meant to ensure that adddriversrunpath and addcudacompat take priority over stubs, which must have clearly regressed if you found cleaning runpaths necessary, so why not fix that instead?

Licensing issues aside, I'd rather have stubs with customized messages linked...

13:28:03
@ss:someonex.netSomeoneSerge (back on matrix) * 13:34:14
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)The logic I was thinking of that did that was never merged IIRC I had implemented it in my CUDA-packages repo but it required many more of the array utility functions I wrote to do hook de-ordering, filtering, removal of duplicates, etc. Upstream didn’t want to review or include them in tree if there were no users and also wouldn’t have accepted me putting my CUDA changes in the PR introducing those hooks so i gave up 🤷‍♂️17:01:58
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)The CUDA compat path and driver link lib path should appear before any stub directory entries in the runpath… but we also shouldn’t have any stub directory entries in the runpath17:03:24
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)

The other approach I took was to register a function, which registers all the other functions present in the setup hook, to be executed during prePhases.
Since that’s an insane thing to do, it ensures that our hooks are the last in the order of every phase we’re adding them to.

https://github.com/ConnorBaker/cuda-packages/blob/8a317116a07717b13e0608f47b78bd6d75f8bb99/pkgs/development/cuda-modules/packages/nvccHook/nvccHook.bash#L24

17:10:55
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8) Part of the reason I did that was because the order Nixpkgs loads dependencies is wrong (there’s an issue from Ericson from like 8y ago)
As a result, even though my setup hooks depend on the array utility functions, they’re not available when my setup hooks is sourced — only after the phases have begun
17:13:35
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)https://github.com/NixOS/nixpkgs/pull/38876717:15:08
@connorbaker:matrix.orgconnor (burnt/out) (UTC-8)ugh 🫩17:17:35
@indoor_squirrel:matrix.orgindoor_squirrel@ericson is in New York, right? Would someone here volunteer to just stand outside of his flat until he merges?.... You know, because of the implication?21:12:33
@indoor_squirrel:matrix.orgindoor_squirrelWe may be able to support this effort through sponsor funding, I guess, considering the application of the funds (betterment of nixpkgs).21:13:13

Show newer messages


Back to Room ListRoom Version: 9