[tlbuild] Build progress with CYGWIN

Jonathan Kew jonathan at jfkew.plus.com
Tue Sep 2 12:16:06 CEST 2008


On 2 Sep 2008, at 1:06 AM, Karl Berry wrote:

> Hi Rodrigo,
>
> Sorry for the delayed reply.
>
>    I am trying to build TeXlive for CYGWIN.
>
> Great.  FYI, as mentioned on the main tex-live list, Angelo Grazioso
> also just built Cygwin (and also failed with XeTeX).  His binaries are
> at
> http://www.webalice.it/angelo.graziosi/cygwin/texlive/texlive-20080816.pre_release.tar.lzma
> ...
>
>    Because the current CYGWIN compiler is gcc-3.4.4 the graphite- 
> engine will
>    not compile
>
> Graphite depends on GCC 4?!

I'm guessing the difference is that gcc4's system includes don't use  
the filename "features.h", whereas 3.x does. That's what makes the  
build fail with gcc3 (see below).

>
>
>    1- (Solved) Because Windows does not distinguish uppercase from
>       lowercase file names there was a confusion between a system
>       /usr/include/features.h file and a .../libs/icu-xetex/layout/ 
> Features.h
>
> But shouldn't the -I options find the icu-xetex file first in any  
> case?

AAUI, it does .... but the problem is that icu's Features.h is then  
found when a gcc3 system header wants to include gcc3's features.h.  
That's what breaks the build (I think, from the reports -- haven't yet  
had time to try setting up a cygwin environment of my own).

>
> I don't recall Akira ever mentioning this problem on Windows, but  
> maybe
> he just silently solved it ... Akira?
>
>    2- (Solved) The compilation of XeTeXFontMgr.cpp failed because the
>       function SWAP(fixed p) was not defined in XeTeXswap.h
>
> The XETEX_MAC version seems mildly unusual, compared to the others.  I
> wonder if that's the right thing for Cygwin.  Jonathan?

It's probably fine, but I'll look again.... I think it may or may not  
be needed depending how the compiler feels about type  
compatibility.... don't recall the details offhand.


>
>    3- (Not solved) After the successful compilation of  
> XeTeXFontInst_FT2.cpp
>      the build process stopped because:
>
>    make[2]: *** No rule to make target
>    `../../libs/icu-xetex/lib/libsicudata.a', needed by `xetex'.  Stop.
>
> All I can say is that it seems something must have failed  
> previously, or
> the .a should exist.

Right, unless the libs get different names under cygwin and the  
makefile is depending on the wrong (Unixish) name. Look in Work/libs/ 
icu-xetex/lib to see what did get built (if anything). If nothing,  
then look at the configure and make output for the icu-xetex dir to  
try and see where it's failing. Maybe icu build on cygwin is broken?  
I'm sure it's not one of their reference platforms. Try the icu- 
support mailing list if necessary.

JK



More information about the tlbuild mailing list