mirror of
https://github.com/Rust-GPU/Rust-CUDA.git
synced 2026-06-01 05:39:48 +09:00
chore(example): add nvvm library path to LD_LIBRARY_PATH and add back the add example in CI (#190)
When linking `libnvvm.so.4` into `librustc_codegen_nvvm.so` shared library via the `cust_raw` package, we specified the following parameters in the `build.rs`: - cargo::rustc-link-search=native=xxx - cargo::rustc-link-lib=dylib=nvvm According to the [Cargo documentation](https://doc.rust-lang.org/cargo/reference/build-scripts.html#rustc-link-search), the path we added to the `rustc-link-search` parameter is not further populated to the `LD_LIBRARY_PATH` for search by the transitive dependencies. > These paths are also added to the dynamic library search path > environment variable if they are within the OUT_DIR. The behavior is intended to be limited to the OUT_DIR so the `libnvvm.so.4`, which lives as a part of the CUDA SDK, is excluded. Therefore, we must add it to the LD_LIBRARY_PATH manually in our container build stage.
This commit is contained in:
committed by
GitHub
parent
295459dcea
commit
032361a177
6
.github/workflows/ci_linux.yml
vendored
6
.github/workflows/ci_linux.yml
vendored
@@ -44,10 +44,10 @@ jobs:
|
||||
- name: Clippy
|
||||
env:
|
||||
RUSTFLAGS: -Dwarnings
|
||||
run: cargo clippy --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*"
|
||||
run: cargo clippy --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "ex*" --exclude "cudnn*"
|
||||
- name: Build
|
||||
run: cargo build --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*"
|
||||
run: cargo build --workspace --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "ex*" --exclude "cudnn*"
|
||||
- name: Check documentation
|
||||
env:
|
||||
RUSTDOCFLAGS: -Dwarnings
|
||||
run: cargo doc --workspace --all-features --document-private-items --no-deps --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "add" --exclude "ex*" --exclude "cudnn*" --exclude "cust_raw"
|
||||
run: cargo doc --workspace --all-features --document-private-items --no-deps --exclude "optix*" --exclude "path_tracer" --exclude "denoiser" --exclude "ex*" --exclude "cudnn*" --exclude "cust_raw"
|
||||
|
||||
@@ -38,5 +38,8 @@ WORKDIR /data/Rust-CUDA
|
||||
RUN rustup show
|
||||
RUN rm -f "rust-toolchain.toml"
|
||||
|
||||
# Add nvvm to LD_LIBRARY_PATH.
|
||||
ENV LD_LIBRARY_PATH="/usr/local/cuda/nvvm/lib64:${LD_LIBRARY_PATH}"
|
||||
|
||||
ENV LLVM_LINK_STATIC=1
|
||||
ENV RUST_LOG=info
|
||||
@@ -40,5 +40,8 @@ WORKDIR /data/Rust-CUDA
|
||||
RUN rustup show
|
||||
RUN rm -f "rust-toolchain.toml"
|
||||
|
||||
# Add nvvm to LD_LIBRARY_PATH.
|
||||
ENV LD_LIBRARY_PATH="/usr/local/cuda/nvvm/lib64:${LD_LIBRARY_PATH}"
|
||||
|
||||
ENV LLVM_LINK_STATIC=1
|
||||
ENV RUST_LOG=info
|
||||
@@ -40,5 +40,8 @@ WORKDIR /data/Rust-CUDA
|
||||
RUN rustup show
|
||||
RUN rm -f "rust-toolchain.toml"
|
||||
|
||||
# Add nvvm to LD_LIBRARY_PATH.
|
||||
ENV LD_LIBRARY_PATH="/usr/local/cuda/nvvm/lib64:${LD_LIBRARY_PATH}"
|
||||
|
||||
ENV LLVM_LINK_STATIC=1
|
||||
ENV RUST_LOG=info
|
||||
@@ -41,5 +41,8 @@ WORKDIR /data/Rust-CUDA
|
||||
RUN rustup show
|
||||
RUN rm -f "rust-toolchain.toml"
|
||||
|
||||
# Add nvvm to LD_LIBRARY_PATH.
|
||||
ENV LD_LIBRARY_PATH="/usr/local/cuda/nvvm/lib64:${LD_LIBRARY_PATH}"
|
||||
|
||||
ENV LLVM_LINK_STATIC=1
|
||||
ENV RUST_LOG=info
|
||||
Reference in New Issue
Block a user