mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00
Load libsecret
by its SONAME
, libsecret-1.so.0
The library name `libsecret-1.so` is only found in `-dev` or `-devel` packages on many distros, and it's usually only a symlink. For example, this is what I have on Fedora: /usr/lib64/libsecret-1.so -> libsecret-1.so.0 /usr/lib64/libsecret-1.so.0 -> libsecret-1.so.0.0.0 /usr/lib64/libsecret-1.so.0.0.0 $ rpm -qf /usr/lib64/libsecret* libsecret-devel-0.21.4-2.fc40.x86_64 libsecret-0.21.4-2.fc40.x86_64 libsecret-0.21.4-2.fc40.x86_64 The middle `libsecret-1.so.0` filename matches the actual `SONAME` in the library, which you can see with `readelf -d`, and this is what programs built directly against this library will use. It's a better choice for dynamic loaders too, so devel packages aren't needed.
This commit is contained in:
parent
0de7f2ec6c
commit
4ee7b9c260
@ -115,7 +115,7 @@ mod linux {
|
||||
let secret_password_store_sync: Symbol<'_, SecretPasswordStoreSync>;
|
||||
let secret_password_clear_sync: Symbol<'_, SecretPasswordClearSync>;
|
||||
unsafe {
|
||||
lib = Library::new("libsecret-1.so").context(
|
||||
lib = Library::new("libsecret-1.so.0").context(
|
||||
"failed to load libsecret: try installing the `libsecret` \
|
||||
or `libsecret-1-0` package with the system package manager",
|
||||
)?;
|
||||
|
Loading…
x
Reference in New Issue
Block a user