-
Notifications
You must be signed in to change notification settings - Fork 113
fix: make dylib rpath available for all targets #3590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Alexander Droste <[email protected]>
| shell: bash | ||
| env: | ||
| RUST_BACKTRACE: full | ||
| LD_LIBRARY_PATH: target/duckdb-v1.3.0 |
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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.
| // 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()); |
There was a problem hiding this comment.
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.
Benchmarks: TPC-H on NVMETable of Results
|
Benchmarks: TPC-H on S3Table of Results
|
Benchmarks: compressTable of Results
|
Benchmarks: Clickbench on NVMETable of Results
|
joseph-isaacs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
woo
The dynamic library search path is defined relative to the executable location. Executables either reside under `target/<build_config>` or `target/<build_config>/deps`. Signed-off-by: Alexander Droste <[email protected]> Signed-off-by: mwlon <[email protected]>
The dynamic library search path is defined relative to the executable location. Executables either reside under
target/<build_config>ortarget/<build_config>/deps.