Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Oct 2016 15:40:17 +0000
From:      bugzilla-noreply@freebsd.org
To:        gnome@FreeBSD.org
Subject:   [Bug 211201] print/freetype2: update to 2.7, add V40 code
Message-ID:  <bug-211201-6497-tNexmTlbtC@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-211201-6497@https.bugs.freebsd.org/bugzilla/>
References:  <bug-211201-6497@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D211201

--- Comment #50 from lightside <lightside@gmx.com> ---
(In reply to comment #47)
> 1 new failure on 11.0 amd64: graphics/inventor
> http://package22.nyi.freebsd.org/data/110amd64-default-PR211201/2016-10-2=
6_08h08m09s/logs/errors/inventor-2.1.5.p10_12.log
I investigated mentioned issue.
The 2.6.3 version used commented "-export-symbols $(EXPORTS_LIST)" line in
builds/unix/unix-cc.in file:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/builds/unix/un=
ix-cc.in?h=3DVER-2-6-3#n112

The 2.7 version have it uncommented:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/builds/unix/un=
ix-cc.in?h=3DVER-2-7#n112

The --export-symbols option limits the list of exported symbols, generated =
by
apinames program:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/tools/apin=
ames.c?h=3DVER-2-7
https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Sh=
ared-Libraries.html

For freetype2 v2.6.3:
-8<--
% readelf -Ds libfreetype.so.6.12.3 | grep FT_Done_GlyphSlot || echo not fo=
und
  533 247: 0000000000013b70   377    FUNC GLOBAL DEFAULT  11 FT_Done_GlyphS=
lot
-->8-

For freetype2 v2.7 (before patch):
-8<--
% readelf -Ds libfreetype.so.6.12.6 | grep FT_Done_GlyphSlot || echo not fo=
und
not found
-->8-

I created two variants of patches, which fixes this:
1) First variant in attachment #176248, which comments "-export-symbols" op=
tion
in builds/unix/unix-cc.in file:
-8<--
        @${REINPLACE_CMD} -e '/-export-symbols/s|^|#|' \
                ${WRKSRC}/builds/unix/unix-cc.in
-->8-
-8<--
% readelf -Ds libfreetype.so.6.12.6 | grep FT_Done_GlyphSlot || echo not fo=
und
  555 247: 0000000000014490   377    FUNC GLOBAL DEFAULT  11 FT_Done_GlyphS=
lot
-->8-

2) Second variant in attachment #176249, which adds FT_Done_GlyphSlot as
exported function to include/freetype/ftglyph.h file:
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freety=
pe/ftglyph.h?h=3DVER-2-7#n47
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/include/freety=
pe/internal/ftobjs.h?h=3DVER-2-7#n601
-8<--
        @${REINPLACE_CMD} -e \
        '/FT_BEGIN_HEADER/s|$$|\${.newline}FT_EXPORT(void)
FT_Done_GlyphSlot(FT_GlyphSlot slot);|' \
                ${WRKSRC}/include/freetype/ftglyph.h
-->8-
-8<--
% readelf -Ds libfreetype.so.6.12.6 | grep FT_Done_GlyphSlot || echo not fo=
und
  161 157: 000000000000ebb0   377    FUNC GLOBAL DEFAULT  11 FT_Done_GlyphS=
lot
-->8-

The second variant is more correct, in my opinion, while first variant is m=
ore
simple, but may create issues with other exported symbols.

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-211201-6497-tNexmTlbtC>