[tex-k] FAIL: tests/ttf.test

Jonathan Kew jfkthame at googlemail.com
Wed Nov 7 10:24:51 CET 2012

On 7/11/12 09:07, Jindrich Novy wrote:
> Hi Norbert,
> On Wed, Nov 07, 2012 at 05:58:49PM +0900, Norbert Preining wrote:
>> On Mi, 07 Nov 2012, Norbert Preining wrote:
>>> So it seems that the compile process somehow picks up the wrong icu.
>> Or the symbolization (whatever the proper name might be) did go wrong.
>> I see:
>> $ g++ -g -O2 -o xetex xetex-xetexextra.o xetex-synctex.o xetex-xetexini.o xetex-xetex0.o xetex-xetex-pool.o libxetex.a /src/TeX/texlive-svn/Build/source/Work/libs/icu/icu-build/lib/libicule.a /src/TeX/texlive-svn/Build/source/Work/libs/icu/icu-build/lib/libicuuc.a /src/TeX/texlive-svn/Build/source/Work/libs/icu/icu-build/lib/libicudata.a /src/TeX/texlive-svn/Build/source/Work/libs/teckit/libTECkit.a /src/TeX/texlive-svn/Build/source/Work/libs/poppler/libpoppler.a /src/TeX/texlive-svn/Build/source/Work/libs/libpng/libpng.a -lfontconfig /src/TeX/texlive-svn/Build/source/Work/libs/graphite/libgraphite.a /src/TeX/texlive-svn/Build/source/Work/libs/freetype2/libfreetype.a /src/TeX/texlive-svn/Build/source/Work/libs/zlib/libz.a lib/lib.a /src/TeX/texlive-svn/Build/source/Work/texk/kpathsea/.libs/libkpathsea.a -lm -nodefaultlibs -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic -lm -lgcc_eh -lgcc -lc -lgcc_eh -lgcc
>> libxetex.a(libxetex_a-XeTeXOTLayoutEngine.o):(.rodata._ZTV19XeTeXOTLayoutEngine[_ZTV19XeTeXOTLayoutEngine]+0x28): undefined reference to `icu_50::OpenTypeLayoutEngine::characterProcessing(unsigned short const*, int, int, int, signed char, unsigned short*&, icu_50::LEGlyphStorage&, LEErrorCode&)'

I wonder if this is related to the uint16_t vs. char16_t issue discussed 
in http://bugs.icu-project.org/trac/ticket/9717 when using C++11 
compilers. Depending how the 16-bit character type is defined in various 
places (ICU code and xetex code), you might run into a mismatch.

A workaround, in that case, might be to disable C++11 support with an 
appropriate -std=... argument to the compiler.

(A more complete fix might require digging through the various places 
where types are defined, to figure out where the incompatibility arises.)


More information about the tex-k mailing list