[tex-live] 64 bits version of TeX Live on Windows

Angelo Graziosi angelo.graziosi at alice.it
Thu Jul 7 17:47:42 CEST 2016


Ciao Vincent,

Il 07/07/2016 12:16, Vincent Torri ha scritto:
> Hello
>
> So here are the steps i did to try to compile TeX Live for Windows 64
> bits, using only MSYS2:

here things are a bit different.

I installed MSYS2 from the tarball msys2-base-x86_64-20160205.tar.xz, 
then, after setup steps, I installed a bunch of packages:


pacman -S --needed base
pacman -S --needed base-devel
pacman -S --needed compression
pacman -S --needed editors
pacman -S --needed msys2-devel
pacman -S --needed mingw-w64-x86_64-toolchain
pacman -S --needed mingw-w64-cross-toolchain
pacman -S --needed mingw-w64-i686-toolchain
pacman -S --needed net-utils
pacman -S --needed sys-utils
pacman -S atool
pacman -S bc
pacman -S tree
pacman -S clang-svn
pacman -S mingw-w64-x86_64-clang-analyzer
pacman -S mingw-w64-x86_64-clang-tools-extra
pacman -S mingw-w64-x86_64-compiler-rt
pacman -S mingw-w64-x86_64-libc++
pacman -S mingw-w64-x86_64-libc++abi
pacman -S mingw-w64-x86_64-lld
pacman -S --needed mingw-w64-x86_64-gimp-plugins
pacman -S mingw-w64-x86_64-gimp
pacman -S mingw-w64-x86_64-vlc-git
pacman -S mingw-w64-x86_64-graphicsmagick
pacman -S mingw-w64-x86_64-tesseract-ocr
pacman -S mingw-w64-x86_64-tesseract-data-ita
pacman -S --needed mingw-w64-x86_64-ceres-solver
pacman -S mingw-w64-x86_64-aspell-en

about 15GiB with deps...

(BTW, this installed also all the packages you suggest..)

Now, with all MSYS2 updated and TL at the last sources

rsync -av --delete --exclude=.svn tug.org::tldevsrc/Build/source/ 
/tmp/tlsrc/

I tried the build from MINGW64 shell (that started with 
C:\msys64\mingw64.exe), and tried first:

./Build --build=x86_64-w64-mingw32

(notice: no parallel build) which failed when building in libs/icu:

[...]
clang++   -DU_ENABLE_DYLOAD=0 -DU_HAVE_ATOMIC=1 -DU_HAVE_MMAP=0 
-DU_STATIC_IMPLEMENTATION 
-I/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/common 
-I/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/i18n 
"-DU_BUILD=\"x86_64-w64-mingw32\"" "-DU_HOST=\"x86_64-w64-mingw32\"" 
"-DU_CC=\"clang\"" "-DU_CXX=\"clang++\"" 
-DUNISTR_FROM_CHAR_EXPLICIT=explicit 
-DUNISTR_FROM_STRING_EXPLICIT=explicit -DU_ATTRIBUTE_DEPRECATED= 
-DU_TOOLUTIL_IMPLEMENTATION -O2 --std=c++0x -mthreads -Qunused-arguments 
-Wno-parentheses-equality  -c   -o toolutil.ao 
/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/tools/toolutil/toolutil.cpp
In file included from 
C:/msys64/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/tools/toolutil/toolutil.cpp:66:
In file included from 
C:/msys64/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/i18n\unicode/ucal.h:12:
In file included from 
C:/msys64/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/common\unicode/uenum.h:24:
In file included from 
C:/msys64/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/common\unicode/strenum.h:14:
In file included from 
C:/msys64/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/common\unicode/unistr.h:31:
In file included from 
C:/msys64/tmp/tlsrc/Work/libs/icu/../../../libs/icu/icu-src/source/common\unicode/std_string.h:33:
In file included from C:\msys64\mingw64\include\c++\5.4.0\string:40:
In file included from 
C:\msys64\mingw64\include\c++\5.4.0\bits/char_traits.h:39:
In file included from 
C:\msys64\mingw64\include\c++\5.4.0\bits/stl_algobase.h:64:
In file included from 
C:\msys64\mingw64\include\c++\5.4.0\bits/stl_pair.h:59:
In file included from C:\msys64\mingw64\include\c++\5.4.0\bits/move.h:57:
C:\msys64\mingw64\include\c++\5.4.0\type_traits:311:39: error: use of 
undeclared identifier '__float128'
     struct __is_floating_point_helper<__float128>

As you see, when building in libs/icu it switched to use clang/clang++..

So after cleaning, I tried:

CXX=g++ CC=gcc ./Build --build=x86_64-w64-mingw32


Now all things in libs seem built.. but then the build stops trying to 
build xetex:

[...]
libtool: link: g++ -g -O2 -o xetex.exe xetexdir/xetex-xetexextra.o 
synctexdir/xetex-synctex.o xetex-xetexini.o xetex-xetex0.o 
xetex-xetex-pool.o  libxetex.a 
/tmp/tlsrc/Work/libs/harfbuzz/libharfbuzz.a 
/tmp/tlsrc/Work/libs/graphite2/libgraphite2.a 
/tmp/tlsrc/Work/libs/icu/icu-build/lib/libicuuc.a 
/tmp/tlsrc/Work/libs/icu/icu-build/lib/libicudata.a 
/tmp/tlsrc/Work/libs/teckit/libTECkit.a 
/tmp/tlsrc/Work/libs/poppler/libpoppler.a -lgdi32 
/tmp/tlsrc/Work/libs/libpng/libpng.a 
/tmp/tlsrc/Work/libs/freetype2/libfreetype.a 
/tmp/tlsrc/Work/libs/zlib/libz.a libmd5.a -LC:/msys64/mingw64/lib 
-lfontconfig -lfreetype lib/lib.a 
/tmp/tlsrc/Work/texk/kpathsea/.libs/libkpathsea.a -lwsock32
g++.exe: error: 
C:/msys64/tmp/tlsrc/Work/libs/icu/icu-build/lib/libicudata.a: No such 
file or directory

Indeed libicudata.a does not exist but there are many *icu*.a libraries 
there in libs/icu.. Maybe someone of these should simply be renamed..

Notice that MSYS2 does not use symlinks and that it has the icu packages,

  pacman -Ss icu
mingw32/mingw-w64-i686-icu 57.1-1
     International Components for Unicode library (mingw-w64)
mingw32/mingw-w64-i686-icu-debug-libs 57.1-1
     International Components for Unicode library (mingw-w64)
mingw32/mingw-w64-i686-python2-icu 1.9.2-3
     Python extension wrapping the ICU C++ API (mingw-w64)
mingw32/mingw-w64-i686-python3-icu 1.9.2-3
     Python extension wrapping the ICU C++ API (mingw-w64)
mingw64/mingw-w64-x86_64-icu 57.1-1 [installato]
     International Components for Unicode library (mingw-w64)
mingw64/mingw-w64-x86_64-icu-debug-libs 57.1-1 [installato]
     International Components for Unicode library (mingw-w64)
mingw64/mingw-w64-x86_64-python2-icu 1.9.2-3
     Python extension wrapping the ICU C++ API (mingw-w64)
mingw64/mingw-w64-x86_64-python3-icu 1.9.2-3
     Python extension wrapping the ICU C++ API (mingw-w64)
msys/icu 56.1-1 (libraries) [installato]
     International Components for Unicode library
msys/icu-devel 56.1-1 (development)
     ICU headers and libraries


Ciao, Angelo.


More information about the tex-live mailing list