[MacPorts] #55583: snappy @1.1.7: restore shared library build (and use the up-to-date cmake PG)

MacPorts noreply at macports.org
Sun Dec 24 23:12:04 UTC 2017


#55583: snappy @1.1.7: restore shared library build (and use the up-to-date cmake
PG)
---------------------+----------------------
  Reporter:  RJVB    |      Owner:
      Type:  defect  |     Status:  new
  Priority:  Normal  |  Milestone:
 Component:  ports   |    Version:
Resolution:          |   Keywords:  haspatch
      Port:  snappy  |
---------------------+----------------------

Comment (by RJVB):

 I've attached a patch that adds a no-frills solution to build both shared
 and static libraries. It could probably be done a bit more elegantly but
 given how small the project is there's hardly a penalty to building
 everything twice.

 Changing the compatibility version back to 5.0.0 is a different matter.
 I've not found a good way to do this, because cmake imposes the SOVERSION
 as the compatibility version. So either we get `libsnappy.dylib ->
 libsnappy.1.dylib -> libsnappy.1.1.7.dylib` with compat. version 1.0.0, or
 we get `libsnappy.dylib -> libsnappy.5.dylib -> libsnappy.1.1.7.dylib` .
 The only way to restore the 5.0.0 compat. version would thus be to set the
 SOVERSION to 5 in the CMake file, and then to rename libsnappy.5.dylib
 (and update the link library symlink).

 FWIW, the "5" number probably comes from the strange way libtool encodes
 library versions (see https://cmake.org/Bug/view.php?id=4383#c6870 and
 beyond; I'm guessing the previous snappy build system used libtools
 `-version-info 5:x:y) IOW, this is indeed an unhappy side-effect that
 bites on OS X only, not on Linux where only the filename counts (which
 hasn't changed).

--
Ticket URL: <https://trac.macports.org/ticket/55583#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list