The Samba-Bugzilla – Bug 9774
Shared library conventions are not respected on OpenBSD
Last modified: 2018-12-18 22:42:32 UTC
On OpenBSD, shared libraries (not "plugins", but those who get linked in) should have the following name scheme:
It's also permitted, but highly discouraged to have libNAME.so links pointing to the "versioned" file.
There was done a lot of work on autotools to fix this. And now Samba4 is using WAF, which does not respect those requirements. Also, new build system does not allow for packager to control shared object's version. Yes, WAF tries to do it's best to control ABI... but it is a must to have such control anyway. On OpenBSD the convention is to use environment variables like LIBfoo_VERSION=MAJOR.MINOR to set SO version to 0.0 for library "foo", and therefore result in libfoo.so.0.0.
Of course, I do not want to force Samba project doing that work, but I'm just asking, what could be tuned to change the scheme? I grepped different things in buildtools/ directory for a few hours but still did not get where does versioning happen.
Thanks in advance.
Any news on this? Maybe I should contact someone specific? Or provide more information?
Created attachment 8894 [details]
Patch to fix issue
I constructed a patch that implements the behavior requested. It works fine here, on OpenBSD, and I tried to not break existing code paths.
Created attachment 8902 [details]
Patch to fix issue via git format-patch
I let waf guru metze decide about this patch :-)