metegenez opened a new issue, #4207:
URL: https://github.com/apache/arrow-adbc/issues/4207
### What feature or improvement would you like to see?
`JniLoader` currently always extracts `libadbc_driver_jni.so` from the jar.
There is no way to load an externally built binary.
This is a problem for embedders (e.g. StarRocks, or any system that ships
ADBC) that build all native libs (`libadbc_driver_manager.so`,
`libadbc_driver_sqlite.so`, `libadbc_driver_jni.so`) from the same source tree
and want version consistency across all of them.
**Proposal**: try `System.loadLibrary` first, fall back to jar extraction on
failure:
```java
try {
System.loadLibrary(libraryName);
} catch (UnsatisfiedLinkError e) {
// existing path based jar extraction logic
}
```
If `LD_LIBRARY_PATH` (or `java.library.path`) contains the library, it loads
from there. Otherwise falls back to the jar, same as today. No config, no new
properties, no breaking change.
If it does make sense, i can implement this.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]