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

MacPorts noreply at macports.org
Mon Jul 2 22:56:14 UTC 2018


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

Comment (by RJVB):

 > The switch to a static library only broke linking with libsnappy for C
 applications

 I didn't (intend to) claim that there was a linking problem with the
 static lib. The problem is that the shared library is gone, which means
 rebuilding all dependents (including the huge QtWebEngine).

 Restoring the shared library without addressing the SOVERSION issue
 described above does cause a linking and/or runtime issue if you don't
 rebuild the dependents ... or don't install a copy of the runtime dylib
 (libsnappy.X.dylib) with the proper SOVERSION set.

 > We do not want any port to link with static libraries, as that would not
 allow updating without increasing the revision of all recursive
 dependents.

 I think that would only be true if a port C depends on (uses) a library
 from a port B but also uses API from a static library from port A that is
 linked into and exposed by port B.

 If port C calls code from port A it should declare a dependency on that
 port. If the dependency is indirect there is no need for that, but then
 there is also no need for recursive rev-bumping (only port B needs the
 revbump).

 Example: poppler-qt4/5 and poppler. The Qt bindings are complete and
 evolve very little, if ever, so I don't think Qt ports using poppler
 through those wrappers have ever had to revbump (yet poppler breaks API
 quite frequently). IOW, poppler-qt *could* link libpoppler statically
 without any ill effect.

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


More information about the macports-tickets mailing list