#45599 closed defect (fixed)
cairo runtime messages/crash regarding obsolete CGFontGetGlyphPath
Reported by: | nerdling (Jeremy Lavergne) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.3.99 |
Keywords: | yosemite haspatch | Cc: | lambert@…, mkae (Marko Käning) |
Port: | cairo, cairo-devel |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
See possible patch at
http://comments.gmane.org/gmane.comp.lib.cairo/24875
This runtime message is emitted twice then the process crashes:
<Error>: The function CGFontGetGlyphPath is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance.
Change History (12)
comment:1 Changed 10 years ago by nerdling (Jeremy Lavergne)
Keywords: | yosemite added |
---|
comment:2 Changed 10 years ago by nerdling (Jeremy Lavergne)
Description: | modified (diff) |
---|---|
Summary: | cairo runtime messages regarding obsolete CGFontGetGlyphPath → cairo runtime messages/crash regarding obsolete CGFontGetGlyphPath |
comment:3 follow-up: 4 Changed 10 years ago by nerdling (Jeremy Lavergne)
Keywords: | haspatch added |
---|
comment:4 Changed 10 years ago by nerdling (Jeremy Lavergne)
Upstream has an updated patch available.
comment:5 follow-up: 11 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
cairo 1.14.2 includes this change, however because it makes cairo incompatible with Tiger, and because it is a small change, I have reverted the change in MacPorts cairo to retain Tiger compatibility (r135960). Upstream is currently considering whether to reinstate Tiger support or whether to make the removal of Tiger support final by removing the many other bits of Tiger compatibility code in cairo.
comment:6 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | cairo-devel added |
---|
I should add that when I decided to revert this change, I was thinking only of restoring Tiger support. I realized that there were compile-time warnings on Yosemite (and Mavericks?) about the function being obsolete, but I did not remember this ticket, did not remember there were runtime error message as well, which are annoying.
comment:7 Changed 9 years ago by lambert@…
Since upgrading to Yosemite I get this message both from gnuplot (using "set terminal pdf" or "pdfcairo") and from rsvg-convert (using "-f pdf"). No crash, but the annoying thing is that the fonts are all wrong. These are tools I use regularly. Any hope this will be fixed some time in the future?
$ port installed cairo gnuplot librsvg The following ports are currently installed: cairo @1.14.2_1+quartz+x11 (active) gnuplot @5.0.1_0+aquaterm+luaterm+pangocairo+wxwidgets+x11 (active) librsvg @2.40.9_0 (active)
comment:8 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
I don't know why using this old API would cause crashes, contribute to an overall degradation of system performance, or cause fonts to be wrong, so my suspicion is that your issue is caused by something else. You could confirm this by editing the Portfile, removing the line "patchfiles-append patch-tiger.diff", then rebuilding the port with "sudo port -ns upgrade --force cairo
". You should no longer see the messages about CGFontGetGlyphPath, but I suspect you will still see the problems you were seeing. Let us know either way.
comment:9 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
comment:11 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | lambert@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Replying to ryandesign@…:
cairo 1.14.2 includes this change, however because it makes cairo incompatible with Tiger, and because it is a small change, I have reverted the change in MacPorts cairo to retain Tiger compatibility (r135960).
Along with updating cairo to 1.14.4, in r142163 I changed the port to only use this patch when Tiger support is requested. That should remove the warning messages (and perhaps even the incorrect behavior) seen on Yosemite and later.
Upstream ticket has a patch.