-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Load libsecret
by its SONAME
, libsecret-1.so.0
#13927
Conversation
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.
r? @weihanglo rustbot has assigned @weihanglo. Use |
Just check ArchLinux and yes it should be compatible.
We should have some container tests for this dlopen integration (and credential providers in general), though no need to block this PR. |
@bors r+ |
☀️ Test successful - checks-actions |
Update cargo 9 commits in 0de7f2ec6c39d68022e6b97a39559d2f4dbf3930..84dc5dc11a9007a08f27170454da6097265e510e 2024-05-17 16:54:54 +0000 to 2024-05-20 18:57:08 +0000 - Fix warning about unused Permissions (rust-lang/cargo#13938) - fix: support IPv6-only network for cargo fix (rust-lang/cargo#13907) - Load `libsecret` by its `SONAME`, `libsecret-1.so.0` (rust-lang/cargo#13927) - docs(ref): Simplify check-cfg build.rs docs (rust-lang/cargo#13937) - Make `git::use_the_cli` test truly locale independent (rust-lang/cargo#13935) - Silence warnings running embedded unittests. (rust-lang/cargo#13929) - Fix warning output in build_with_symlink_to_path_dependency_with_build_script_in_git (rust-lang/cargo#13930) - Fix: Make path dependencies with the same name stays locked (rust-lang/cargo#13572) - Temporarily fix standard_lib tests on linux. (rust-lang/cargo#13931) r? ghost
Update cargo 9 commits in 0de7f2ec6c39d68022e6b97a39559d2f4dbf3930..84dc5dc11a9007a08f27170454da6097265e510e 2024-05-17 16:54:54 +0000 to 2024-05-20 18:57:08 +0000 - Fix warning about unused Permissions (rust-lang/cargo#13938) - fix: support IPv6-only network for cargo fix (rust-lang/cargo#13907) - Load `libsecret` by its `SONAME`, `libsecret-1.so.0` (rust-lang/cargo#13927) - docs(ref): Simplify check-cfg build.rs docs (rust-lang/cargo#13937) - Make `git::use_the_cli` test truly locale independent (rust-lang/cargo#13935) - Silence warnings running embedded unittests. (rust-lang/cargo#13929) - Fix warning output in build_with_symlink_to_path_dependency_with_build_script_in_git (rust-lang/cargo#13930) - Fix: Make path dependencies with the same name stays locked (rust-lang/cargo#13572) - Temporarily fix standard_lib tests on linux. (rust-lang/cargo#13931) r? ghost
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:The middle
libsecret-1.so.0
filename matches the actualSONAME
in the library, which you can see withreadelf -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.