rust-jack
rust-jack copied to clipboard
Support compile time linking.
It was removed in 0.10.0
in favor of manually finding the dynamic library and loading symbols.
This would be simply linking, not static linking.
As I mentioned in #179, the jack
crate now always links to libjack, even if the dynamic loading feature is enabled. If the dynamic_loading
feature is enabled, then the dynamic linking modules probably shouldn't be generated and included.
As I mentioned in #179, the
jack
crate now always links to libjack, even if the dynamic loading feature is enabled. If thedynamic_loading
feature is enabled, then the dynamic linking modules probably shouldn't be generated and included.
How does #180 look?
I guess that probably works. Does functions::dynamic_loading
always need to be re-exported (or be available even) even when using compile-time dynamic linking?
In Nix, I think the Cargo package wrapper uses patchelf to change dynamically linked paths to the correct place on the built system. I think this essentially operates on the information displayed by ldd
.
Because libjack2.so.0
is runtime (? manually? programmatically?) linked it's not discovered and updated, and it fails to start at runtime.
I realize Nix users might be minor, but I think there's many other tools that rely on ldd information and libjack may be used in a wide variety of software, some of which may be impacted.