[tlbuild] Issues with msys2: failed to link with -lgs, _mkdir not declared, ...

Mojca Miklavec mojca.miklavec.lists at gmail.com
Thu Mar 1 00:51:37 CET 2018


Hi,

This is not really a supported platform, I just wanted to report it
without really expecting a fix.

If I try to build TL on Windows 7 with msys2 --with-system-icu
(because the bundled one doesn't have sufficient patches), the build
fails at dvisvgm because it's unable to find libgs. I would expect it
to either disable dvisvgm or fail earlier than during the linking
phase.

Note this:

checking for gs... no
configure: WARNING: Cannot find GhostScript in your PATH
...
checking ghostscript/iapi.h usability... no
checking ghostscript/iapi.h presence... no
checking for ghostscript/iapi.h... no
checking for dlopen in -ldl... no
configure: WARNING: PostScript support disabled
../../../source/texk/dvisvgm/configure: line 21927: test: : integer
expression expected
checking Ghostscript version... ""
../../../source/texk/dvisvgm/configure: line 22046: test: : integer
expression expected


After installing ghostscript it fails at

../../../../../source/texk/lcdf-typetools/lcdf-typetools-src/otftotfm/automatic.cc:46:29:
error: '_mkdir' was not declared in this scope
 # define mkdir(dir, access) _mkdir(dir)
                             ^

(Easy to work around, I opened
https://github.com/kohler/lcdf-typetools/issues/17 and would be
grateful for comments from builders running cygwin or the
cross-compiler.)

After that workaround the build succeeds, make check fails at zlib.test:

if ./example; then
  echo '                *** zlib test OK ***'
else
  echo '                *** zlib test FAILED ***'
  exit 1
fi
+ ./example
zlib version 1.2.11 = 0x12b0, compile flags = 0x95
uncompress(): hello, hello!
gzread err:
+ echo '                *** zlib test FAILED ***'
                *** zlib test FAILED ***
+ exit 1
FAIL zlib.test (exit status: 1)


The next one to fail is luaerror.test (in lua52, lua53 and luajit):

FAIL: luaerror
==============

1c1
< ./luatry: (command line):1: test
---
> C:\msys32\home\me\texlive\Build\build\libs\lua53\luatry.exe: (command line):1: test
FAIL luaerror.test (exit status: 1)


Then m-tx:

$ cat utils/m-tx/test-suite.log
============================================
   m-tx (TeX Live) 0.63: ./test-suite.log
============================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: m-tx
==========

#! /bin/sh -vx
# Copyright 2017 Karl Berry <tex-live at tug.org>
# Copyright 2012 Peter Breitenlohner <tex-live at tug.org>
# You may freely use, modify and/or distribute this file.

rm -f mozart*
+ rm -f 'mozart*'

cp $srcdir/tests/mozart.mtx .
+ cp ../../../source/utils/m-tx/tests/mozart.mtx .

set -x
+ set -x

./prepmx mozart \
        && diff mozart.pmx $srcdir/tests/mozart.pmx \
        || exit 1
+ ./prepmx mozart
==> This is M-Tx 0.63 (Music from TeXt) <7 January 2018>
==>> Input from file mozart.mtx
Writing to mozart.pmx
You have not defined Meter, assuming "C" : WARNING in preamble
No range defined for voice RH: WARNING in preamble
No range defined for voice LH: WARNING in preamble
PrePMX done.  Now run PMX.
+ diff mozart.pmx ../../../source/utils/m-tx/tests/mozart.pmx
1,27c1,27
< ---
< \def\mtxversion{0.63}
< \def\mtxdate{<7 January 2018>}
< \input mtx
< \mtxComposerLine{}{W. A. Mozart (1756--1791)}
< \mtxTitleLine{Riff in C}
< ---
< 2 -1 2 4 4 0 6  0.00000 0 1 1 20 0
<
< 60
< ./
< Tc
< \mtxPoetComposer
< Tt
< \mtxTitle
< w190m
< % Paragraph 2 line 5 bar 1
<  w120m
< c83 g8+ e8 g8 c8- g8+ e8 g8 | /
< c25 e4 g4 | /
<
< %Bar 2
< d8 g8 f8 g8 c8- g8+ e8 g8 | Rb
<  /
< b4-d c1 d1 c2 | /
<
< % Coded by M-Tx
---
> ---
> \def\mtxversion{0.63}
> \def\mtxdate{<7 January 2018>}
> \input mtx
> \mtxComposerLine{}{W. A. Mozart (1756--1791)}
> \mtxTitleLine{Riff in C}
> ---
> 2 -1 2 4 4 0 6  0.00000 0 1 1 20 0
>
> 60
> ./
> Tc
> \mtxPoetComposer
> Tt
> \mtxTitle
> w190m
> % Paragraph 2 line 5 bar 1
>  w120m
> c83 g8+ e8 g8 c8- g8+ e8 g8 | /
> c25 e4 g4 | /
>
> %Bar 2
> d8 g8 f8 g8 c8- g8+ e8 g8 | Rb
>  /
> b4-d c1 d1 c2 | /
>
> % Coded by M-Tx
+ exit 1
FAIL m-tx.test (exit status: 1)

Plus another bunch of failures:

FAIL: tftopl.test
FAIL: vftovp.test
FAIL: ptexdir/nissya.test
FAIL: eptexdir/pdfprimitive.test
FAIL: euptexdir/pdfprimitive.test
FAIL: xetexdir/xetex-bug73.test
FAIL: omegaware/charwd.test
FAIL: omegaware/check.test
FAIL: omegaware/selectfont.test

after which I stopped trying.

Mojca

PS: The patches needed for icu for windows are quite substantial:
    https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-icu
and I don't expect that to be fixed in TL. Libraries need to go to bin
folder and lots of other stuff goes wrong, I didn't try to investigate
too deep. Since we already have W32TeX, cygwin and most likely a
working cross-compiler, this is a much lower priority (= no priority
at all) compared to unix platforms.


More information about the tlbuild mailing list