source: pst/typesetting/texlive.xml@ fb45bfd

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since fb45bfd was 1b32f1a, checked in by Xi Ruoyao <xry111@…>, 20 months ago

texlive: punctuation fix

  • Property mode set to 100644
File size: 19.5 KB
Line 
1<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
2 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../../general.ent">
4 %general-entities;
5
6 <!-- utah -->
7 <!ENTITY texlive-download-http "https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/&texlive-year;/texlive-&texlive-version;-source.tar.xz">
8 <!ENTITY texlive-download-ftp "ftp://tug.org/texlive/historic/&texlive-year;/texlive-&texlive-version;-source.tar.xz">
9 <!ENTITY texlive-md5sum "4f05bbd93004175275f50215a4c51608">
10 <!ENTITY texlive-size "65 MB">
11
12 <!ENTITY texlive-buildsize "8.0 GB including the additional download and the tests, 7.3 GB installed">
13 <!ENTITY texlive-time "3.9 SBU including the additional download and the tests, building with parallelism=4">
14
15 <!-- utah -->
16 <!ENTITY texlive-texmf-download-http "https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/&texlive-year;/texlive-&texlive-version;-texmf.tar.xz">
17 <!ENTITY texlive-texmf-download-ftp "ftp://tug.org/texlive/historic/&texlive-year;/texlive-&texmf-version;-texmf.tar.xz">
18 <!ENTITY texlive-texmf-md5sum "9806803f703b6ce4d9845c46806a7a08">
19 <!ENTITY texlive-texmf-size "3.4 GB">
20
21 <!ENTITY texlive-tlpdb-download-http "https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/&texlive-year;/texlive-&tex-tlpdb-version;-tlpdb-full.tar.gz">
22 <!ENTITY texlive-tlpdb-download-ftp "ftp://tug.org/texlive/historic/&texlive-year;/texlive-&tex-tlpdb-version;-tlpdb-full.tar.gz">
23 <!ENTITY texlive-tlpdb-md5sum "1084c37c6775b567ed7babd71e612f75">
24 <!ENTITY texlive-tlpdb-size "3.1 MB">
25
26]>
27
28
29<sect1 id="texlive" xreflabel="texlive-&texlive-version;">
30 <?dbhtml filename="texlive.html"?>
31
32 <sect1info>
33 <date>$Date$</date>
34 </sect1info>
35
36 <title>texlive-&texlive-version;-source</title>
37
38 <indexterm zone="texlive">
39 <primary sortas="a-texlive">texlive</primary>
40 </indexterm>
41
42 <sect2 role="package">
43 <title>Introduction to TeX Live from source</title>
44
45 <note>
46 <para>
47 According to <ulink url="https://www.tug.org/historic/"/> the master
48 site in France only supports ftp and rsync. Now that ftp is generally
49 deprecated, that page has links to mirrors, some of which support https,
50 e.g. in Utah and Chemntiz as well as in China. If you prefer to use a
51 different mirror from the example links here, you will need to navigate
52 to systems/historic/texlive/&texlive-year; or systems/texlive/&texlive-year;
53 as the case may be.
54 <!-- the chinese mirros do not use a 'historic' subdirectory. -->
55 </para>
56 </note>
57
58 <para>
59 Most of TeX Live can be built from source without a pre-existing
60 installation, but <application>xindy</application> (for indexing) needs
61 working versions of <command>latex</command> and
62 <command>pdflatex</command> when configure is run, and the testsuite
63 and install for <command>asy</command> (for vector graphics) will fail
64 if TeX has not already been installed. Additionally,
65 <application>biber</application> is not provided within the
66 <application>texlive</application> source and the version of
67 <application>dvisvgm</application> in the
68 <application>texlive</application> tree cannot be built
69 if shared system libraries are used.
70 </para>
71
72 <para>
73 </para>
74 <para>
75 All of those packages are dealt with on their own pages and can be
76 built after installing this package. If you have not already done so, you
77 should start at <xref linkend="tex-path"/> so that the final commands to
78 initialize the new installation will be found.
79 </para>
80
81 &lfs112_checked;
82
83 <bridgehead renderas="sect3">Package Information</bridgehead>
84 <itemizedlist spacing="compact">
85 <listitem>
86 <para>
87 Download (HTTP): <ulink url="&texlive-download-http;"/>
88 </para>
89 </listitem>
90 <listitem>
91 <para>
92 Download (FTP): <ulink url="&texlive-download-ftp;"/>
93 </para>
94 </listitem>
95 <listitem>
96 <para>
97 Download MD5 sum: &texlive-md5sum;
98 </para>
99 </listitem>
100 <listitem>
101 <para>
102 Download size: &texlive-size;
103 </para>
104 </listitem>
105 <listitem>
106 <para>
107 Estimated disk space required: &texlive-buildsize;
108 </para>
109 </listitem>
110 <listitem>
111 <para>
112 Estimated build time: &texlive-time;
113 </para>
114 </listitem>
115 </itemizedlist>
116
117 <bridgehead renderas="sect3">Required Additional Downloads</bridgehead>
118
119 <para>
120 Much of the texlive environment (including scripts, documentation,
121 fonts, and various other files) is not part of the source tarball.
122 You must download it separately. This will give you all of the
123 additional files which are provided by a full install of the binary
124 version, there is no realistic way to restrict which parts get
125 installed.
126 </para>
127
128 <para>
129 Because of the size of this package, it is unlikely to be mirrored by
130 BLFS mirrors. In case of difficulty, go to http://www.ctan.org/mirrors/
131 to find a more-accessible mirror.
132 </para>
133
134 <itemizedlist spacing="compact">
135 <listitem>
136 <para>
137 Download (HTTP): <ulink url="&texlive-texmf-download-http;"/>
138 </para>
139 </listitem>
140 <listitem>
141 <para>
142 Download (FTP): <ulink url="&texlive-texmf-download-ftp;"/>
143 </para>
144 </listitem>
145 <listitem>
146 <para>
147 Download MD5 sum: &texlive-texmf-md5sum;
148 </para>
149 </listitem>
150 <listitem>
151 <para>
152 Download size: &texlive-texmf-size;
153 </para>
154 </listitem>
155 </itemizedlist>
156
157 <para>
158 From the 2019 year, the tlpdb database of the packages within texlive is
159 no-longer installed with the source. But <command>texdoc</command> needs
160 a cache file derived from this (and will create the cache on its first
161 run).
162 </para>
163
164 <itemizedlist spacing="compact">
165 <listitem>
166 <para>
167 Download (HTTP): <ulink url="&texlive-tlpdb-download-http;"/>
168 </para>
169 </listitem>
170 <listitem>
171 <para>
172 Download (FTP): <ulink url="&texlive-tlpdb-download-ftp;"/>
173 </para>
174 </listitem>
175 <listitem>
176 <para>
177 Download MD5 sum: &texlive-tlpdb-md5sum;
178 </para>
179 </listitem>
180 <listitem>
181 <para>
182 Download size: &texlive-tlpdb-size;
183 </para>
184 </listitem>
185
186<!-- <listitem>
187 <para>
188 Required patch: <ulink url=
189 "&patch-root;/texlive-&texlive-version;-upstream_fixes-1.patch"/>
190 </para>
191 </listitem>-->
192 </itemizedlist>
193
194 <bridgehead renderas="sect3">TeX Live from source Dependencies</bridgehead>
195
196 <bridgehead renderas="sect4">Recommended</bridgehead>
197 <para role="recommended">
198 <xref linkend="gs"/> <emphasis>including
199 <filename>libgs.so</filename></emphasis>, <!--(for dvisvgm, which is used by e.g.
200 <xref role="nodep" linkend="asymptote"/>); still referenced for dynamic loading,
201 even without dvisvgm - e.fg. by dvipsk -->
202 <xref linkend="x-window-system"/>
203 </para>
204
205 <!-- text for recommended libraries -->
206 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
207 href="../../xincludes/texrecommendlibs.xml"/>
208
209<!-- the following ensures jhalfs will set paths before running texlive -->
210
211 <para role="recommended">
212 Furthermore, the instructions below assume you are using the layout
213 described in <xref linkend="tex-path"/>.
214 </para>
215
216 <bridgehead renderas="sect4">Optional</bridgehead>
217 <!-- text for optional deps -->
218 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
219 href="../../xincludes/texoptional.xml"/>
220
221 <bridgehead renderas="sect4">Runtime dependencies</bridgehead>
222 <!-- text for runtime deps, shared with tl-installer -->
223 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
224 href="../../xincludes/texruntime.xml"/>
225
226 <para condition="html" role="usernotes">User Notes:
227 <ulink url="&blfs-wiki;/texlive"/></para>
228
229 </sect2>
230
231 <sect2 role="installation">
232 <title>Installation of TeX Live</title>
233
234 <para>
235 Install TeX Live by running the following commands:
236 </para>
237
238 <caution>
239 <para>
240 If you wish to upgrade to current <application>texlive</application>
241 on an older system where extra packages (<application>asymptote</application>,
242 <application>biber</application>, <application>dvisvgm</application>, or
243 <application>xindy</application>) have been installed, you will need to
244 reinstall those as well as fixing up your <literal>PATH</literal> for
245 <literal>$TEXLIVE_PREFIX</literal>.
246 </para>
247 </caution>
248
249 <para>
250 The shared libraries will be installed into a texlive directory.
251 As the <systemitem class="username">root</systemitem> user, add it to
252 your <filename>/etc/ld.so.conf</filename>:
253 </para>
254
255<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
256<literal># Begin texlive addition
257
258$TEXLIVE_PREFIX/lib
259
260# End texlive addition</literal>
261EOF</userinput></screen>
262
263 <note>
264 <para>
265 A successful install requires some texlive
266 commands to be run as the root user, so we will export the TEXARCH
267 variable to let <systemitem class="username">root</systemitem> use it.
268 </para>
269 </note>
270
271 <para>
272 Now, as a normal user:
273 </para>
274
275<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
276
277mkdir texlive-build &amp;&amp;
278cd texlive-build &amp;&amp;
279
280../configure \
281 --prefix=$TEXLIVE_PREFIX \
282 --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
283 --datarootdir=$TEXLIVE_PREFIX \
284 --includedir=$TEXLIVE_PREFIX/include \
285 --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
286 --libdir=$TEXLIVE_PREFIX/lib \
287 --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \
288 --disable-native-texlive-build \
289 --disable-static --enable-shared \
290 --disable-dvisvgm \
291 --with-system-cairo \
292 --with-system-fontconfig \
293 --with-system-freetype2 \
294 --with-system-gmp \
295 --with-system-graphite2 \
296 --with-system-harfbuzz \
297 --with-system-icu \
298 --with-system-libgs \
299 --with-system-libpaper \
300 --with-system-libpng \
301 --with-system-mpfr \
302 --with-system-pixman \
303 --with-system-zlib \
304 --with-banner-add=" - BLFS" &amp;&amp;
305
306make</userinput></screen>
307
308 <para>
309 To test the results, issue: <command>make check</command>.
310 </para>
311
312 <para>
313 Now, as the <systemitem class="username">root</systemitem> user:
314 </para>
315
316<!-- Editors, you can run 'make texlinks' in a DESTDIR by passing
317DESTDIR#some/where -->
318<screen role="root"><userinput>make install-strip &amp;&amp;
319/sbin/ldconfig &amp;&amp;
320make texlinks &amp;&amp;
321mkdir -pv $TEXLIVE_PREFIX/tlpkg/TeXLive/ &amp;&amp;
322install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &amp;&amp;
323tar -xf ../../texlive-&tex-tlpdb-version;-tlpdb-full.tar.gz -C $TEXLIVE_PREFIX/tlpkg</userinput></screen>
324
325 <note>
326 <para>
327 Only run <command>make texlinks</command> once. If it is rerun,
328 it can change all the program symlinks so that they point to
329 themselves and are useless.
330 </para>
331 </note>
332
333 <para>
334 Now install the additional files as the
335 <systemitem class="username">root</systemitem> user:
336 </para>
337
338<!-- if texmf does not need to be patched, remove &amp;&amp; from first line,
339 close userinput, screen, comment pushd, patch, popd -->
340<screen role="root"><userinput>tar -xf ../../texlive-&texmf-version;-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1</userinput></screen>
341
342 <para>
343 It has been established by debian that the <command>python</command>
344 scripts in <filename class="directory">latex-make</filename> will work
345 with <command>python3</command>, so update them to invoke that by running
346 the following command as the <systemitem class="username">root</systemitem>
347 user:
348 </para>
349
350<screen role="root"><userinput>for F in $TEXLIVE_PREFIX/texmf-dist/scripts/latex-make/*.py ; do
351 sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F
352done
353</userinput></screen>
354
355 <para>
356 Still as the <systemitem class="username">root</systemitem> user,
357 initialize the new system (the commands <command>fmtutil-sys
358 --all</command> and <command>mtxrun --generate</command> will produce
359 a <emphasis>lot</emphasis> of output):
360 </para>
361
362<!-- Editors, fmtutil-sys and mtxrun \-\-generate can apparently only be run on
363a real install, as root. But mktexlsr can be run in a DESTDIR with
364cd /YOUR/TEXMF/ROOT ; ls -LAR ./ >ls-R -->
365
366<screen role="root"><userinput>mktexlsr &amp;&amp;
367fmtutil-sys --all &amp;&amp;
368mtxrun --generate</userinput></screen>
369
370 <para>
371 You can now proceed to <xref linkend="asymptote"/>,
372 <xref linkend="biber"/>, <xref linkend="dvisvgm"/> and / or <xref
373 linkend="xindy"/> if you wish to install them.
374 </para>
375
376 </sect2>
377
378 <sect2 role="commands">
379 <title>Command Explanations</title>
380
381 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
382 href="../../xincludes/tex-prefix.xml"/>
383
384 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
385 href="../../xincludes/tex-lib.xml"/>
386
387 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
388 href="../../xincludes/static-libraries.xml"/>
389
390 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
391 href="../../xincludes/tex-shared.xml"/>
392
393 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
394 href="../../xincludes/tex-system.xml"/>
395<!--
396 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
397 href="../../xincludes/tex-xpdf.xml"/>-->
398
399 <para>
400 <command>--disable-dvisvgm</command>: As noted above, the shipped version
401 of dvisvgm, which has modified configuration files, cannot be built with
402 shared system libraries.
403 </para>
404
405 <para>
406 <option>--without-x</option>: use this if you do not have Xorg installed.
407 </para>
408
409 <para>
410 <command>/sbin/ldconfig</command>: this has to be run here so that
411 <command>make texlinks</command> can use kpsewhich.
412 </para>
413
414 <para>
415 <command>make texlinks</command> : this runs the texlinks.sh script
416 to create symbolic links from formats to engines. In
417 practice, several of the targets such as <command>xetex</command> are now
418 separate binaries and for these it will report "file already exists".
419 </para>
420
421 <para>
422 <command>tar -xf texlive-&texmf-version;-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1</command>:
423 the tarball contains the files for the texmf-dist directory, and because
424 of its size we do not want to waste time and space untarring it and then
425 copying the files.
426 </para>
427
428 <para>
429 <command>install -v -m644 ../texk/tests/TeXLive/*
430 $TEXLIVE_PREFIX/tlpkg/TeXLive/</command>: This puts the perl
431 modules <filename>TLConfig.pm</filename> and <filename>TLUtils.pm</filename>
432 into the directory where the binary installer puts them - it is at the
433 start of the perl @INC@ PATH within texlive when installed using the above
434 configure switches. Without these modules, texlive is unusable.
435 </para>
436
437 <para>
438 <command>mktexlsr</command>: Create an <filename>ls-R</filename> file
439 which lists what was installed - this is used by kpathsea to find files.
440 </para>
441
442 <para>
443 <command>fmtutil-sys --all</command>: This initializes the TeX formats,
444 Metafont bases and Metapost mems.
445 </para>
446
447 <para>
448 <command>mtxrun --generate</command>: This initializes the ConTeXt system.
449 </para>
450
451 </sect2>
452
453 <sect2 role="content">
454 <title>Contents</title>
455
456 <segmentedlist>
457 <segtitle>Installed Programs</segtitle>
458 <segtitle>Installed Libraries</segtitle>
459 <segtitle>Installed Directories</segtitle>
460
461 <seglistitem>
462 <seg>Over 300 binaries and symlinks to scripts</seg>
463 <seg>libkpathsea.so,
464 libptexenc.so,
465 libsynctex.so,
466 libtexlua52.so,
467 libtexluajit.so
468 </seg>
469 <seg>$TEXLIVE_PREFIX/bin,
470 $TEXLIVE_PREFIX/include,
471 $TEXLIVE_PREFIX/lib,
472 $TEXLIVE_PREFIX/texmf-dist
473 </seg>
474 </seglistitem>
475 </segmentedlist>
476
477 <variablelist>
478 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
479 <?dbfo list-presentation="list"?>
480 <?dbhtml list-presentation="table"?>
481
482 <varlistentry id="texlive-programs">
483 <term><command>TeX&nbsp;programs</command></term>
484 <listitem>
485 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
486 href="../../xincludes/texprogs.xml"/>
487 <indexterm zone="texlive texlive-programs">
488 <primary sortas="b-texlive-programs">TeX Live programs</primary>
489 </indexterm>
490 </listitem>
491 </varlistentry>
492
493 <varlistentry id="libkpathsea">
494 <term><filename class="libraryfile">libkpathsea.so</filename></term>
495 <listitem>
496 <para>
497 (kpathsearch) exists to look up a file in a list of directories
498 and is used by <command>kpsewhich</command>
499 </para>
500 <indexterm zone="texlive libkpathsea">
501 <primary sortas="c-libkpathsea">libkpathsea.so</primary>
502 </indexterm>
503 </listitem>
504 </varlistentry>
505
506 <varlistentry id="libptexenc">
507 <term><filename class="libraryfile">libptexenc.so</filename></term>
508 <listitem>
509 <para>
510 is a library for Japanese pTeX (publishing TeX)
511 </para>
512 <indexterm zone="texlive libptexenc">
513 <primary sortas="c-libptexenc">libptexenc.so</primary>
514 </indexterm>
515 </listitem>
516 </varlistentry>
517
518 <varlistentry id="libsynctex">
519 <term><filename class="libraryfile">libsynctex.so</filename></term>
520 <listitem>
521 <para>
522 is the SyncTeX (Synchronize TeXnology) parser library
523 </para>
524 <indexterm zone="texlive libsynctex">
525 <primary sortas="c-libsynctex">libsynctex.so</primary>
526 </indexterm>
527 </listitem>
528 </varlistentry>
529
530 <varlistentry id="libtexlua52">
531 <term><filename class="libraryfile">libtexlua52.so</filename></term>
532 <listitem>
533 <para>
534 provides Lua 5.2, modified for use with LuaTeX
535 </para>
536 <indexterm zone="texlive libtexlua52">
537 <primary sortas="c-libtexlua52">libtexlua52.so</primary>
538 </indexterm>
539 </listitem>
540 </varlistentry>
541
542 <varlistentry id="libtexluajit">
543 <term><filename class="libraryfile">libtexluajit.so</filename></term>
544 <listitem>
545 <para>
546 provides LuaJIT, modified for use with LuaJITTeX
547 </para>
548 <indexterm zone="texlive libtexluajit">
549 <primary sortas="c-libtexluajit">libtexluajit.so</primary>
550 </indexterm>
551 </listitem>
552 </varlistentry>
553 </variablelist>
554
555 </sect2>
556
557</sect1>
Note: See TracBrowser for help on using the repository browser.