Opened 6 years ago

#55619 new enhancement

compatibility_version blues

Reported by: RJVB (René Bertin) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: freetype

Description

I noticed that FreeType's autoconf/libtool system sets the dylib compatibility_version to the current_version (and both o some meaningless value rather than the FT version). When you build with CMake, the compatibility_version is set to vMaj.vMin.0 and the current_version to vMaj.vMin.vPatch. This is what one could expect if patchlevel releases do not introduce ABI incompatibilities that would prevent apps built against say 2.8.2 to run with 2.8.0 or 2.8.1 .

I'm getting these dylib versions:

  • libtool version for 2.7.1 : 20
  • libtool version for 2.8.0 : 21
  • libtool version for 2.8.1 : 22

I would suggest that 2.8.x builds should set the compatibility version to at most 21 so that users can re-activate older Freetype installs after they built against the newer version. The easiest (and probably only) way to do this is to patch builds/unix/ltmain.sh and replace -compatibility_version $minor_current with -compatibility_version 21.

(In practice it seems even possible to run binaries built against FreeType 2.8.1 with FreeType 2.7.1 .)

Change History (0)

Note: See TracTickets for help on using tickets.