Bug 1372368

Summary: freetype-2.6.5 and freetype-2.6.3 are ABI incompatible
Product: [Fedora] Fedora Reporter: Ralf Corsepius <rc040203>
Component: freetypeAssignee: Marek Kašík <mkasik>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: behdad, fonts-bugs, kevin, mkasik
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-17 09:06:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1372348    

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?