Issue 8481 - macOS shared libraries should be .dylib not .so
Summary: macOS shared libraries should be .dylib not .so
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: build (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-19 14:04 UTC by ilovezfs@icloud.com
Modified: 2018-02-09 18:52 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description ilovezfs@icloud.com 2016-08-19 14:04:23 UTC
Full_Name: ilovezfs
Version: LMDB_0.9.18
OS: macOS
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (50.168.32.161)


This is in regard to the Homebrew formula for LMDB (See
https://github.com/Homebrew/homebrew-core/pull/2317). Currently, we are having
to patch the shared library extensions from .so to .dylib, which is the correct
file extension on macOS. It would be great if this patch could be removed from
the formula, which would mean upstream support for automatically setting the
extension correctly based on platform in the build system.

This is a pretty common practice, and it would be highly appreciated as we like
to as little patching as possible to upstream code for maintainability and
fidelity.

In particular, we're currently having to do the following replacement:
```
 inreplace "Makefile", ".so", ".dylib"
```

Here's a typical example of how shared libraries get named on macOS: 
```
libiconv.2.4.0.dylib -> libiconv.2.dylib
libiconv.2.dylib
libiconv.dylib -> libiconv.2.4.0.dylib
```
Comment 1 Howard Chu 2016-08-19 16:26:23 UTC
ilovezfs@icloud.com wrote:
> Full_Name: ilovezfs
> Version: LMDB_0.9.18
> OS: macOS
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (50.168.32.161)
>
>
> This is in regard to the Homebrew formula for LMDB (See
> https://github.com/Homebrew/homebrew-core/pull/2317). Currently, we are having
> to patch the shared library extensions from .so to .dylib, which is the correct
> file extension on macOS. It would be great if this patch could be removed from
> the formula, which would mean upstream support for automatically setting the
> extension correctly based on platform in the build system.
>
> This is a pretty common practice, and it would be highly appreciated as we like
> to as little patching as possible to upstream code for maintainability and
> fidelity.
>
> In particular, we're currently having to do the following replacement:
> ```
>  inreplace "Makefile", ".so", ".dylib"
> ```

Fixed in commit c6510147cee88d182af431c14a61fad6fae18be3

> Here's a typical example of how shared libraries get named on macOS:
> ```
> libiconv.2.4.0.dylib -> libiconv.2.dylib
> libiconv.2.dylib
> libiconv.dylib -> libiconv.2.4.0.dylib
> ```
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

Comment 2 Howard Chu 2016-08-19 16:31:03 UTC
changed notes
changed state Open to Test
moved from Incoming to Build
Comment 3 OpenLDAP project 2018-02-09 18:52:48 UTC
fixed in mdb.master
fixed in 0.9.19
Comment 4 Quanah Gibson-Mount 2018-02-09 18:52:48 UTC
changed notes
changed state Test to Closed