texlive-20240312-source
Introduction à TeX Live from source
Note
D'après https://www.tug.org/historic/
le site principal en France ne prend en charge que ftp et rsync.
Maintenant que ftp est globalement obsolète, cette page a des
liens vers des miroirs, dont certains prennent en charge https,
p. ex. en Utah et Chemnitz ainsi qu'en Chine. Si vous
préférez utiliser un miroir différent des liens d'exemple ici,
vous devrez naviguer dans systems/historic/texlive/2024 ou
systems/texlive/2024 suivant le cas.
La majorité de TeX Live peut être construite depuis les sources
sans une installation pré-existante, mais xindy (pour l'indexage) demande des versions
fonctionnelles de latex et pdflatex quand configure est
lancé, et les suites de tests et l'installation de asy (pour les graphiques
vectoriels) échoueront si TeX n'a pas déjà été installé. De plus,
biber n'est pas fournit dans les
sources de texlive et la version
de dvisvgm dans l'arborescence de
texlive ne peut pas être construit
si les bibliothèques partagées du système sont utilisées.
L'ensemble de ces paquets sont traités dans leur propre page et
peuvent être construits après l'installation de ce paquet. Si vous
ne l'avez pas encore fait, vous pouvez démarrer par Initialisation du PATH pour
TeX Live pour que les dernières commandes pour initialiser la
nouvelle installation soient trouvées.
Ce paquet est connu pour pouvoir être construit et fonctionner
correctement avec une plateform 12.2.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2024/texlive-20240312-source.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
1da2f08e3ba4a3708870dd088c1d6823
-
Taille du téléchargement : 67 Mo
-
Estimation de l'espace disque requis : 9,1 Go dont
le téléchargement supplémentaire et les tests, 8,3 Go
installés
-
Estimation du temps de construction : 4,6 SBU dont
le téléchargement supplémentaire et les tests, en
construisant avec parallélisme = 4
Téléchargement supplémentaire requis
La plupart de l'environnement texlive (incluant scripts,
documentation, polices et divers autres fichiers) n'est pas dans
l'archive des sources. Vous devez les télécharger séparément. Cela
vous donnera tous les fichiers supplémentaires qui sont fournis par
une installation complète de la version binaire, car il n'est pas
réaliste de limiter les parties à installer.
À cause de la taille de ce paquet, il n'est pas disponible sur les
miroirs BLFS. Si vous n'arrivez pas à télécharger les fichiers de
ce paquet, allez sur https://www.ctan.org/mirrors/ pour trouver un
miroir plus accessible.
La base de données tlpdb est embarquée dans une archive séparée. Le
programme texdoc a
besoin d'un fichier de cache dérivé de cette base (et créera le
cache à sont premier démarrage).
Dépendances de TeX Live from source
Recommandées
un environnement
graphique
Les sources sont livrées avec leurs propres versions de
nombreuses bibliothèques, et
les utiliseront à moins de forcer l'utilisation des versions du
système. Les dépendances suivantes sont recommandées afin
d'utiliser les versions du système : Cairo-1.18.0, Fontconfig-2.15.0, FreeType-2.13.3, GC-8.2.6, Graphite2-1.3.14, harfBuzz-9.0.0 (construit avec graphite2),
ICU-75.1, libpaper-2.2.5 (utilisé par au moins context
et xelatex) et libpng-1.6.43
En plus, les instructions ci-dessous supposent que vous utilisez la
disposition décrite dans Initialisation du PATH
pour TeX Live.
Facultatives
Les sources sont livrées avec leurs propres versions de quelques
bibliothèques qui ne sont soit plus dans un développement actif,
soit seulement utilisées pour des fonctionnalités limitées. Si vous
les installez, comme d'autres dépendances facultatives dans ce
livre, vous devrez dire à configure d'utiliser les versions
du système. GD, t1lib, ZZIPlib,
TECkit
Dépendances d'exécution
Python2
est utilisé par le module CTAN ebong qui n'est plus maintenu (conçu
pour écrire en Bengali au format Rapid Roman). /usr/bin/python
est également présent dans la
ligne shebang des scripts latex-papersize et lilyglyphs. La
documentation sur CTAN indique que ces deux modules ont été mis à
jour pour fonctionner avec python3. Il y a des scripts dans
pythontex pour invoquer python3 ou python2 en fonction de la
version du système de python. Ruby-3.3.4 est
utilisé par deux scripts, l'un pour pTex (pour écrire du japonais
verticalement) et l'autre est match_parens, qui peut s'avérer
utile. Le module perl
Tk, qui doit être exécuté dans une session X11 pour lancer les
tests et qui nécessite Tk-8.6.14 est utilisé par l'un des scripts
pour ptex, et est requis par texdoctk (une interface graphique pour
trouver les fichiers de documentation et les ouvrir avec la
visionneuse appropriée). ps2pdf, de ghostscript-10.03.1, est
utilisé par certains utilitaires et scripts.
Installation de TeX Live
Installez TeX Live en exécutant les commandes suivantes :
Attention
Si vous voulez mettre à jour texlive vers la version actuelle sur un
système plus ancien où des paquets supplémentaires (asymptote. dvisvgm ou xindy) sont installés, vous devrez les
réinstaller et corriger votre PATH
pour inclure $TEXLIVE_PREFIX
.
Note
Une installation complète demande que des commandes de texlive
soient lancées en tant qu'utilisateur root, donc nous exporterons
la variable TEXARCH pour que root
l'utilise.
Maintenant, en tant qu'utilisateur normal :
export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&
patch -Np1 -i ../texlive-20240312-source-upstream_fixes-1.patch &&
mkdir texlive-build &&
cd texlive-build &&
../configure -C \
--prefix=$TEXLIVE_PREFIX \
--bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
--datarootdir=$TEXLIVE_PREFIX \
--includedir=$TEXLIVE_PREFIX/include \
--infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
--libdir=$TEXLIVE_PREFIX/lib \
--mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
--disable-native-texlive-build \
--disable-static --enable-shared \
--disable-dvisvgm \
--with-system-cairo \
--with-system-fontconfig \
--with-system-freetype2 \
--with-system-gmp \
--with-system-graphite2 \
--with-system-harfbuzz \
--with-system-icu \
--with-system-libgs \
--with-system-libpaper \
--with-system-libpng \
--with-system-mpfr \
--with-system-pixman \
--with-system-zlib \
--with-banner-add=" - BLFS" &&
make
Pour tester les résultats, exécutez : make -k check. Un test,
psutils.test
, est connu pour échouer
si vous utilisez libpaper du système car TeX Live inclus de
vieilles copies de psutils et
libpaper ce qui résulte en une
différence dans les derniers chiffres après la virgule dans le test
psresize. Le développeur de libpaper ne pense pas que ce soit important.
Maintenant, en tant qu'utilisateur root
:
make install-strip &&
make texlinks &&
mkdir -pv $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20240312-extra.tar.xz -C $TEXLIVE_PREFIX/tlpkg --strip-components=2
Note
Ne lancez make
texlinks qu'une seul fois. S'il est relancé, il
peut changer tous les liens symboliques de programmes vers
eux-mêmes ce qui les rend inutilisables.
Maintenant installez les fichiers supplémentaires en tant
qu'utilisateur root
:
tar -xf ../../texlive-20240312-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1
Toujours en tant qu'utilisateur root
, initialisez le nouveau système (la
commande fmtutil-sys
--all produira beaucoup de sorties) :
mktexlsr &&
fmtutil-sys --all
Pour permettre à Evince-46.3.1 ou dvisvgm-3.4 de se lier à
libkpathsea.so
, en tant
qu'utilisateur root
, recréez un
lien symbolique depuis /usr/lib
:
ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so{,.6} /usr/lib
Note
TeX live n'inclut pas les sources de ConTeXt, mais seulement les
éléments présents sur CTAN. Construire ConTeXt entièrement à
partir des sources sur un système TeX Live BLFS est un cas
d'utilisation très niche et a l'air d'apporter plus d'ennuis que
de bénéfices.
Si vous voulez utiliser ConTeXt avec luametatex (la plupart du code
MKII et MKIV a été retiré de TeX Live 2023 par le développeur de
ConTeXt), commencer par le binaire (n'installer que ConTeXt,
753 Mo en mars 2024) sera sans doute la solution la plus
pratique pour démarrer. Les sources de luametatex peuvent être
récupérées avec git à partir du github de
luametatex, compilées avec meson et nija, et installé en le
copiant vers le bon répertoire des programmes. Cela devrait
éviter de devoir corriger tous les liens symboliques et évitera
également d'inclure les nombreuses parties de texmf-dist. Voir
les commentaires 1 à 5 de #17823.
Vous pouvez continuer par asymptote-2.91, biber-2.20, dvisvgm-3.4 ou
xindy-2.5.1 si vous souhaitez les installer.
Explication des commandes
-C : crée
config.cache, ce qui améliore significativement le temps d'une
construction en parallèle.
--prefix=
, --bindir=
, --datarootdir=
et autres paramètre en
« dir » : ces paramètres assurent que
les fichiers installés depuis les sources écraseront les fichiers
correspondants installés précédemment par install-tl-unx afin que les méthodes
d'installation alternatives de texlive soient cohérentes.
--includedir=
--libdir=
: ces paramètres
assurent que les bibliothèques et fichiers d'en-tête seront dans
les répertoires du texlive de l'année.
--disable-static
: Ce
paramètre empêche l'installation des versions statiques des
bibliothèques.
--enable-shared
: Crée
les versions partagées de libkpathsea
, libptexenc
, libsynctex
, libtexlua52
et libtexluajit
.
--with-system-
… : À
moins que ce paramètre ne soit utilisé, les versions incluses dans
les sources de ces bibliothèques seront compilées statiquement dans
les programmes qui les utilisent. Si vous décidez de ne pas
installer une bibliothèque recommandée, omettez le paramètre
correspondant.
--disable-dvisvgm
:
Comme indiqué plus haut, la version intégrée de dvisvgm, qui a des
fichiers de configuration modifiés, ne peut pas être construite
avec les bibliothèques partagées du système.
make texlinks :
cela lance le script texlinks.sh pour créer les liens symboliques
depuis les formats du moteur. En pratique, plusieurs des cibles
comme xetex sont
maintenant des binaires séparés et pour ceux la signalera "fichiers
existants" ("file already exists").
tar -xf texlive-20240312-texmf.tar.xz
-C $TEXLIVE_PREFIX --strip-components=1 :
L'archive contient les fichiers pour le répertoire texmf-dist, et à
cause de sa taille nous ne voulons pas gaspiller de temps et
d'espace à le déballer et ensuite copier les fichiers.
install -v -m644
../texk/tests/TeXLive/*
$TEXLIVE_PREFIX/tlpkg/TeXLive/ : cela met les
modules perl TLConfig.pm
et
TLUtils.pm
dans le répertoire où
l'installateur binaire les place - c'est au début du PATH perl
@INC@ dans texlive quand l'installation utilise les paramètres de
configuration précédents. Sans ces modules, texlive est
inutilisable.
mktexlsr : Crée
un fichier ls-R
qui liste ce qui a
été installé - c'est utilisé par kpathsea pour trouver les fichiers
fmtutil-sys
--all : Ceci initialise les formats TeX, les
bases Metafont et les mémoires Metapost.
--without-x
: utilisez ceci si
vous n'avez pas installé Xorg.
Il y a bien d'autres options « --disable » ou
« --without ». Certaines d'entre elles comme --without-texinfo
sont acceptées mais ne font plus
rien, d'autres empêcheront la construction d'un programme — mais
l'espace disque gigantesque utilisé pour les éléments liés dans
texmf nous font dire qu'il n'y a pas de bénéfice évident à
désactiver quelques uns de ces programmes.
Contenu
Programmes installés:
Plus de 300 binaires et liens symboliques
vers des scripts
Bibliothèques installées:
libkpathsea.so, libptexenc.so,
libsynctex.so, libtexlua52.so, libtexluajit.so
Répertoires installés:
$TEXLIVE_PREFIX/bin,
$TEXLIVE_PREFIX/include, $TEXLIVE_PREFIX/lib,
$TEXLIVE_PREFIX/texmf-dist
Descriptions courtes
TeX programs
|
Les programmes inclus dans TeX sont trop nombreux pour les
lister individuellement. Référez-vous aux pages HTML et
PDF de chaque programme dans les nombreux fichiers html,
man ou pdf dans les sous-répertoires de 2024/texmf-dist/ . L'utilisation de
texdoc
pdflatex (remplacez pdflatex avec le nom de la
commande) peut aussi être utile
|
libkpathsea.so
|
(kpathsearch) existe pour rechercher un fichier dans une
liste de répertoires et est utilisé par kpsewhich
|
libptexenc.so
|
est une bibliothèque pour pTeX (publishing TeX) japonnais
|
libsynctex.so
|
est la bibliothèque d'analyse SyncTeX (Synchronize
TeXnology)
|
libtexlua52.so
|
fournit Lua 5.2, modifié pour fonctionner avec LuaTeX
|
libtexluajit.so
|
fournit LuaJIT, modifié pour fonctionner avec LuaJITTeX
|