Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ rustflags = [
"-C", "force-frame-pointers=yes",
# Add dynamic DuckDB library directory to runtime search path.
"-C", "link-arg=-Wl,-rpath,$ORIGIN/../duckdb-v1.3.0",
"-C", "link-arg=-Wl,-rpath,@executable_path/../duckdb-v1.3.0"
"-C", "link-arg=-Wl,-rpath,$ORIGIN/../../duckdb-v1.3.0",
"-C", "link-arg=-Wl,-rpath,@executable_path/../duckdb-v1.3.0",
"-C", "link-arg=-Wl,-rpath,@executable_path/../../duckdb-v1.3.0"
]

[target.wasm32-unknown-unknown]
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/bench-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,9 @@ jobs:

- name: Run ${{ matrix.benchmark.name }} benchmark
shell: bash
env:
RUST_BACKTRACE: full
LD_LIBRARY_PATH: target/duckdb-v1.3.0
Copy link
Contributor Author

@0ax1 0ax1 Jun 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting this env var is not required locally. It's not clear to me yet why this is necessay on CI. The current setup otherwise works locally on macOS and Linux (Docker container).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did a CI run, running ls as part of a build task to check whether the current working dir and duckdb dylib location is correct, which was the case.

run: |
target/release_debug/${{ matrix.benchmark.id }} -d gh-json | tee ${{ matrix.benchmark.id }}.json

Expand Down
1 change: 1 addition & 0 deletions vortex-duckdb-ext/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ fn main() {
// Link against DuckDB dylib.
println!("cargo:rustc-link-search=native={}", lib_path.display());
println!("cargo:rustc-link-lib=dylib=duckdb");
println!("cargo:rustc-link-arg=-Wl,-rpath,{}", lib_path.display());
Copy link
Contributor Author

@0ax1 0ax1 Jun 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vortex-duckdb-ext also sets the rpath value in order to be self-contained in terms of linker flags. Ideally, this rpath value would propagate to other crates linking against vortex-duckdb-ext which is not the case though.


if env::var("TARGET").unwrap().contains("linux") {
println!("cargo:rustc-link-lib=stdc++");
Expand Down
Loading