Skip to content
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

Add SONAME when Dynamically-Linked #192

Open
3 tasks
SoujiThenria opened this issue Feb 24, 2025 · 3 comments
Open
3 tasks

Add SONAME when Dynamically-Linked #192

SoujiThenria opened this issue Feb 24, 2025 · 3 comments
Labels
enhancement New feature or request

Comments

@SoujiThenria
Copy link
Contributor

Describe the feature

Add a SONAME to the dynamically linked version of Concord and increase it when breaking changes are made to the ABI. This will ensure that dynamically linked programs can use the correct version of the library.

Acceptance criteria

  • The dynamically linked library is built with a proper SONAME.
  • During the installation, create a symbolic link that points to the versioned library file (e.g., libdiscord.so -> libdiscord.so.1).
  • Increment the SONAME version when there are breaking changes to the ABI.

Additional context

I maintain the FreeBSD port for Concord and have noticed that no SONAME is currently set when building the shared library. Since the SONAME is required by FreeBSD's port system, it makes sense to have it when distributing shared libraries to ensure that an application uses the right library version.

@SoujiThenria SoujiThenria added the enhancement New feature or request label Feb 24, 2025
@HackerSmacker
Copy link
Collaborator

Whoa, I'm about 5 days late on this one -- yeah, this is pretty good. I can retouch the Makefile to include this.

@SoujiThenria
Copy link
Contributor Author

SoujiThenria commented Mar 9, 2025 via email

@HackerSmacker
Copy link
Collaborator

I did submit a PR for this that addresses this and retains compatibility, I just haven't dragged the other folks into a review just yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants