source: pst/typesetting/texlive.xml@ 1715682

11.0 11.1 11.2 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 1715682 was 00a3154, checked in by Ken Moffat <ken@…>, 3 years ago

Update to texlive-2021.

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