Bug 9774 - Shared library conventions are not respected on OpenBSD
Summary: Shared library conventions are not respected on OpenBSD
Status: NEW
Alias: None
Product: Samba 4.0
Classification: Unclassified
Component: Build (show other bugs)
Version: 4.0.4
Hardware: All OpenBSD
: P5 normal (vote)
Target Milestone: ---
Assignee: Stefan Metzmacher
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-09 11:38 UTC by Vadim Zhukov
Modified: 2018-12-18 22:42 UTC (History)
3 users (show)

See Also:


Attachments
Patch to fix issue (4.34 KB, patch)
2013-05-16 14:35 UTC, Vadim Zhukov
no flags Details
Patch to fix issue via git format-patch (5.64 KB, patch)
2013-05-17 09:00 UTC, Vadim Zhukov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vadim Zhukov 2013-04-09 11:38:48 UTC
On OpenBSD, shared libraries (not "plugins", but those who get linked in) should have the following name scheme:

libNAME.so.MAJOR.MINOR

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.
Comment 1 Vadim Zhukov 2013-04-20 14:12:05 UTC
Any news on this? Maybe I should contact someone specific? Or provide more information?
Comment 2 Vadim Zhukov 2013-05-16 14:35:11 UTC
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.
Comment 3 Vadim Zhukov 2013-05-17 09:00:53 UTC
Created attachment 8902 [details]
Patch to fix issue via git format-patch
Comment 4 Björn Jacke 2013-05-17 12:31:08 UTC
I let waf guru metze decide about this patch :-)