[tlbuild] TeX Live builds -- second summary

Angelo Graziosi angelo.graziosi at alice.it
Fri May 1 14:39:33 CEST 2009


I have tried to build TL2009 on Cygwin 1.5.25-15 enabling xetex, i.e.

> CC='gcc-4' CXX='g++-4' CPP='cpp-4' CFLAGS='-Wno-write-strings
> -Wno-attributes' CXXFLAGS='-Wno-write-strings -Wno-attributes'
> LDFLAGS='-Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc'
> TL_CONFIGURE_ARGS='--without-graphite' ./Build

but it fails:

> libtool: link: g++-4 -Wno-write-strings -Wno-attributes -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -o xetex.exe xetex-xetexini.o xetex-xetex0.o xetex-xetex1.o xetex-xetex2.o xetex-xetex_pool.o xetex-xetexextra.o xetex-synctex-xe.o  libxetex.a /home/graziosi/work/texlive-source/Work/libs/icu/icu-build/lib/libsicuuc.a /home/graziosi/work/texlive-source/Work/libs/icu/icu-build/lib/libsicule.a /home/graziosi/work/texlive-source/Work/libs/icu/icu-build/lib/libsicudata.a /home/graziosi/work/texlive-source/Work/libs/teckit/libTECkit.a /usr/lib/libfontconfig.dll.a /usr/lib/libfreetype.dll.a -lz /usr/lib/libexpat.dll.a /home/graziosi/work/texlive-source/Work/libs/xpdf/libxpdf.a /home/graziosi/work/texlive-source/Work/libs/libpng/libpng.a -L/home/graziosi/work/texlive-source/Work/libs/freetype2 /home/graziosi/work/texlive-source/Work/libs/freetype2/libfreetype.a /home/graziosi/work/texlive-source/Work/libs/zlib/libz.a lib/lib.a /home/graziosi/work/texlive-source/Work
/texk/kpathsea/.libs/libkpathsea.a
> /home/graziosi/work/texlive-source/Work/libs/zlib/libz.a(zutil.o):zutil.c:(.text+0x0): multiple definition of `_zlibVersion'
> /usr/lib/gcc/i686-pc-cygwin/4.3.2/../../../libz.dll.a(d000072.o):(.text+0x0): first defined here
> libxetex.a(libxetex_a-XeTeXLayoutInterface.o):XeTeXLayoutInterface.cpp:(.text+0xeae): undefined reference to `__imp___ZNK7icu_3_812LayoutEngine16getGlyphPositionElRfS1_RNS_11LEErrorCodeE'
> libxetex.a(libxetex_a-XeTeXLayoutInterface.o):XeTeXLayoutInterface.cpp:(.text+0xf2a): undefined reference to `__imp___ZNK7icu_3_812LayoutEngine17getGlyphPositionsEPfRNS_11LEErrorCodeE'
> libxetex.a(libxetex_a-XeTeXLayoutInterface.o):XeTeXLayoutInterface.cpp:(.text+0xfa6): undefined reference to `__imp___ZNK7icu_3_812LayoutEngine13getGlyphCountEv'
[... A LOT ...]
> libxetex.a(libxetex_a-XeTeXFontInst.o):XeTeXFontInst.cpp:(.text$_ZN7icu_3_87UObjectC2Ev[icu_3_8::UObject::UObject()]+0x12): undefined reference to `__imp___ZTVN7icu_3_87UObjectE'
> libxetex.a(libxetex_a-XeTeXFontInst.o):XeTeXFontInst.cpp:(.text$_ZN7icu_3_814LEFontInstanceC2Ev[icu_3_8::LEFontInstance::LEFontInstance()]+0x12): undefined reference to `__imp___ZTVN7icu_3_814LEFontInstanceE'
> collect2: ld returned 1 exit status
> make[6]: *** [xetex.exe] Error 1

Now the above failure is similar to that we had with TL2008, and which 
was solved with this workaround:

=========================================
diff -Naur texlive-20090424-source.orig/texk/web2c/xetexdir/xetex.mk 
texlive-20090424-source/texk/web2c/xetexdir/xetex.mk
--- texlive-20090424-source.orig/texk/web2c/xetexdir/xetex.mk	2008-06-03 
17:24:50.000000000 +0200
+++ texlive-20090424-source/texk/web2c/xetexdir/xetex.mk	2009-04-26 
00:36:35.417974300 +0200
@@ -33,7 +33,9 @@

  @XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER

- at XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@
+LOAD_FN_CFG = /usr/lib/libfontconfig.a -lz /usr/lib/libexpat.a 
lib/lib.a $(LDFREETYPE2)
+
+ at XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ $(LOAD_FN_CFG)

  @XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@

@@ -86,7 +88,7 @@
  ICUDIR=../../libs/icu-xetex
  ICUSRCDIR=$(srcdir)/$(ICUDIR)

-ICUCFLAGS = @ICUCPPFLAGS@ -DLE_USE_CMEMORY
+ICUCFLAGS = @ICUCPPFLAGS@ -DU_STATIC_IMPLEMENTATION

  ZLIBCPPFLAGS = @ZLIBCPPFLAGS@
  LDZLIB = @LDZLIB@
=========================================

The above patch produced this TL2008 command line:

> g++-4 -o xetex.exe -Wl,--enable-auto-import
> -Wl,--enable-runtime-pseudo-reloc xetexini.o xetex0.o xetex1.o xetex2.o
> xetexextra.o trans.o XeTeX_ext.o xetex_pool.o XeTeXFontMgr_FC.o
> synctex-xe.o mfileio.o numbers.o pdfimage.o bmpimage.o jpegimage.o
> pngimage.o XeTeX_pic.o XeTeXFontMgr.o XeTeXLayoutInterface.o
> XeTeXOTLayoutEngine.o XeTeXFontInst.o cmaps.o FontTableCache.o
> XeTeXOTMath.o XeTeXFontInst_FT2.o ../../libs/icu-xetex/lib/libsicuuc.a
> ../../libs/icu-xetex/lib/libsicule.a
> ../../libs/icu-xetex/lib/libsicudata.a
> ../../libs/teckit/lib/.libs/libTECkit.a ../../libs/zlib/libz.a
> ../../libs/xpdf/xpdf/libxpdf.a ../../libs/xpdf/goo/libGoo.a
> ../../libs/xpdf/fofi/libfofi.a ../../libs/libpng/libpng.a
> /usr/lib/libfontconfig.a -lz /usr/lib/libexpat.a
> ../../libs/freetype2/.libs/libfreetype.a lib/lib.a
> ../kpathsea/.libs/libkpathsea.a

which worked fine.

With the current TL2009 the above patch applies fine but it seems to be 
ignored.

I see that there are two xetex.mk files:

texlive-source/texk/web2c/xetexdir/am/xetex.mk
texlive-source/texk/web2c/xetexdir/xetex.mk

the second was used for TL2008. And now?

It looks as we are near the solution, but it escapes here and there...

Note that on Cygwin we still need to build without-graphite and browsing 
the source code in the svn repository I read:

--------------------------------------------------
Index of /trunk/Build/source/texk/web2c/xetexdir
...
xetex.mk 8521 10 months jonathan patch to support --without-graphite for
                                  building xetex with older compilers
---------------------------------------------------

---------------------------------------------------
Index of /trunk/Build/source/texk/web2c/xetexdir/am
...
xetex.mk 12759 10 days peter new build system: build icu libs and xetex
                        plus misc updates
---------------------------------------------------


Cheers,
    Angelo.


More information about the tlbuild mailing list