Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Set `glibc/lib` as first `rpath` for `nvidia-container-cli`. Also install nvidia libraries to `/usr/local/glibc/lib` so any musl libraries lives separately. `nvidia-container-cli` explicitly sets an `RPATH` as `$ORIGIN/../$LIB` here: https://gitlab.com/nvidia/container-toolkit/libnvidia-container/-/blob/v1.14.6/Makefile?ref_type=tags#L183, this means `/usr/local/lib` would be searched first, since `zfs` and nvidia ship their own `libtirpc`, `nvidia-container-cli` first tries to use the `libtirpc` shippeed with `zfs` at `/usr/local/lib` instead of the one at `/usr/local/glibc/lib`. Fix this by setting an additional `RPATH` as `$ORIGIN/../glibc/$LIB`, so that libraries in `/usr/local/glibc/lib` have higher preference. ```bash ❯ scanelf -r _out/rootfs/rootfs/usr/local/bin/nvidia-container-cli TYPE RPATH FILE ET_DYN $ORIGIN/../glibc/$LIB:$ORIGIN/../$LIB _out/rootfs/rootfs/usr/local/bin/nvidia-container-cli ``` Properly fixes: #380 Fixes from #401 and #410 were not complete. Manually tested by spinning up a NVIDIA worker in AWS. Signed-off-by: Noel Georgi <git@frezbo.dev>
- Loading branch information