[tlbuild] icu-65.1 in TL and -lpthread

Mojca Miklavec mojca.miklavec.lists at gmail.com
Sat Jan 4 07:17:10 CET 2020


On Fri, 13 Dec 2019 at 01:54, Mojca Miklavec wrote:
> V čet., 12. dec. 2019 19:27 je oseba Karl Berry napisala:
>>
>> I've updated the ICU in TeX Live to ICU 65.1 (r53103). I surmise it is
>> likely to break the build on some systems. Please give it a try if you can.
>
> It fails to build on Solaris and on an older Mac. On Mac there is a Python-related issue, on Solaris it's C++.

The build issue on Mac can be fixed by defining something like
    PYTHON=/path/to/python3.8
however the build time (admittedly on a VM on an older box) increased
from cca. 2 h 20 min to cca. 5 h 20 min which sounds a bit insane and
not that easy to explain.

On the other hand the build on Solaris seems to be caused by the following
    https://docs.oracle.com/cd/E19253-01/816-5174/proc-4/index.html

    For 32–bit x86 processes, the predefined constants listed below
can be used as indices to refer to the corresponding registers.

    SS
    UESP
    EFL
    CS
    EIP
    ERR
    TRAPNO
    EAX
    ECX
    EDX
    EBX
    ESP
    EBP
    ESI
    EDI
    DS
    ES
    GS

    The preceding constants are listed in <sys/regset.h>.

clearly conflicting with

    enum {
        L=  U_LEFT_TO_RIGHT,                /*  0 */
        R=  U_RIGHT_TO_LEFT,                /*  1 */
        EN= U_EUROPEAN_NUMBER,              /*  2 */
        ES= U_EUROPEAN_NUMBER_SEPARATOR,    /*  3 */
        ET= U_EUROPEAN_NUMBER_TERMINATOR,   /*  4 */
        AN= U_ARABIC_NUMBER,                /*  5 */
        CS= U_COMMON_NUMBER_SEPARATOR,      /*  6 */
    ...
    }

I reported the issue upstream in mid-december, but there was no
response on their mailing list yet (I sent some more details now).

I still didn't quite figure out where these constants are actually
defined. They are supposed to come from
    /usr/include/sys/regset.h
(both according to the compiler and the docs) but I fail to see what
black magic precisely is setting them :)
Not that I should actually care.

Maybe we could patch the sources locally in TeX Live to undefine ES
and CS until upstream fixes the issue?
I assume that TeX Live doesn't use Solaris registers? :) As long as
some other headers don't start interfering ...

Mojca



More information about the tlbuild mailing list