curiosity-ai / rocksdb-sharp

.net bindings for the rocksdb by facebook
BSD 2-Clause "Simplified" License
155 stars 38 forks source link

Deprioritize loading installed version of rocksdb native library #51

Closed flcl42 closed 5 months ago

flcl42 commented 6 months ago

According to the current logic the native library is searched at the following locations, paths without directory are looked twice:

/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb-8.3.so
/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb-8.so
/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb.so
/root/fix/src/Solution/Project/native/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/native/amd64/librocksdb-8.3.so
/root/fix/src/Solution/Project/native/amd64/librocksdb-8.so
/root/fix/src/Solution/Project/native/amd64/librocksdb.so
/root/fix/src/Solution/Project/native/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/native/librocksdb-8.3.so
/root/fix/src/Solution/Project/native/librocksdb-8.so
/root/fix/src/Solution/Project/native/librocksdb.so
/root/fix/src/Solution/Project/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/amd64/librocksdb-8.3.so
/root/fix/src/Solution/Project/amd64/librocksdb-8.so
/root/fix/src/Solution/Project/amd64/librocksdb.so
/root/fix/src/Solution/Project/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/librocksdb-8.3.so
/root/fix/src/Solution/Project/librocksdb-8.so
/root/fix/src/Solution/Project/librocksdb.so
librocksdb-8.3.2.so
librocksdb-8.3.so
librocksdb-8.so
librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb.so
librocksdb-8.3.2.so
librocksdb-8.3.so
librocksdb-8.so
librocksdb.so

after the fix it will search firstly in all paths provided by the wrapper before checking PATH:

/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb-8.3.so
/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb-8.so
/root/fix/src/Solution/Project/runtimes/linux-x64/native/librocksdb.so
/root/fix/src/Solution/Project/native/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/native/amd64/librocksdb-8.3.so
/root/fix/src/Solution/Project/native/amd64/librocksdb-8.so
/root/fix/src/Solution/Project/native/amd64/librocksdb.so
/root/fix/src/Solution/Project/native/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/native/librocksdb-8.3.so
/root/fix/src/Solution/Project/native/librocksdb-8.so
/root/fix/src/Solution/Project/native/librocksdb.so
/root/fix/src/Solution/Project/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/amd64/librocksdb-8.3.so
/root/fix/src/Solution/Project/amd64/librocksdb-8.so
/root/fix/src/Solution/Project/amd64/librocksdb.so
/root/fix/src/Solution/Project/librocksdb-8.3.2.so
/root/fix/src/Solution/Project/librocksdb-8.3.so
/root/fix/src/Solution/Project/librocksdb-8.so
/root/fix/src/Solution/Project/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/runtimes/linux-x64/native/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/amd64/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/native/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/amd64/librocksdb.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb-8.3.2.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb-8.3.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb-8.so
/root/fix/src/Solution/artifacts/bin/Project/debug/librocksdb.so
librocksdb-8.3.2.so
librocksdb-8.3.so
librocksdb-8.so
librocksdb.so
flcl42 commented 5 months ago

Hello @theolivenbaum! Are there any plans to merge it anytime soon?