Bug 1372368 - freetype-2.6.5 and freetype-2.6.3 are ABI incompatible
Summary: freetype-2.6.5 and freetype-2.6.3 are ABI incompatible
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: freetype
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Marek Kašík
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1372348
TreeView+ depends on / blocked
 
Reported: 2016-09-01 14:05 UTC by Ralf Corsepius
Modified: 2017-08-17 09:06 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-17 09:06:24 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ralf Corsepius 2016-09-01 14:05:13 UTC
Description of problem:

With freetype-2.6.5, some freetype-internal functions, which were publicly accessible before were made inaccessible, 

e.g. FT_New_GlyphSlot, FT_Done_GlyphSlot

Due to the fact the SONAME was not changed and no mass-rebuild performed for fc25, this change at least broke Inventor (Inventor uses FT_Done_GlyphSlot).
I haven't tried to check and therefore don't know if this affects more packages.

fc25 ships an fc24-built Inventor which now contains a reference to an unresolvable symbol which used to be provided by freetype.

Version-Release number of selected component (if applicable):
freetype-2.6.5

Additional info:
- Inventor clearly is at fault to use private functions from freetype, but it had been this way for more than ca. 15 years.

- IMHO, it's arguable whether freetype's SONAME should have been changed.
libfreetype.so.6.12.3 and libfreetype.so.6.12.5 definitely are ABI incompatible.

- It's not clear to me, why freetype made FT_Done_GlyphSlot inaccessible, but left other similar functions public.

- ATM, I do not see an alternative but to "steal" FT_Done_GlyphSlot code from freetype and to incorporate it into Inventor, to work-around Inventor's problem on fedora >= 25.

Comment 1 Marek Kašík 2016-09-05 16:05:03 UTC
It was this commit which turned off export of the functions:

http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/ChangeLog?id=771d3c8ae25d5042a3f6b76a329ad3dd782eca66

I've grepped through all the ~800 packages we have in Fedora 25 which depends on libfreetype.so* and I've found that only the Inventor calls an internal function of freetype (the FT_Done_GlyphSlot()).

I'm proposing to not bump the SONAME because of this and close this bug as wontfix, do you agree?


Note You need to log in before you can comment on or make changes to this bug.