-
-
Notifications
You must be signed in to change notification settings - Fork 11
Use SO version and create appropriate symlinks #4
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
Comments
Yeah, we really need to add this. I'm just unsure about how to get the correct version from cargo (I think it's maybe still not possible?) in order to create the symlink. |
This probably is so because the ELF
It seems that cargo does not support setting sonames: rust-lang/cargo#5045 |
That's the correct soname to set for a library. E.g. see libssh2:
Cargo doesn't support it, but we set it manually in: https://github.com/etesync/libetebase/blob/master/build.rs#L13 Summary: the soname is correct, and we can do proper versioning. The only thing we don't do is symlinks, and we should do them, but do them automatically, not manually. PR welcome! |
One more comment: also rename the main |
I've been toying with evolution-etesync and found out that the linker requires the versioned number of the library now, anything what builds against it cannot run due to the versioned one is missing. Currently:
Maybe it was always that way, I do not recall. |
I am currently packaging libetebase for Alpine, and it seems that libetebase is currently not using versioning for its shared object; so currently we have to create symlinks manually: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/23675#3d7890f078f0c91507ca805d810f5e1141c6c189_0_22. Without them, software like evolution-etesync doesn't work properly as (at least on Alpine's build system) it automatically links against
libetebase.so.0
.Do you want to consider using proper SO names with API versions, or should distributions patch it on their own?
The text was updated successfully, but these errors were encountered: