source: pst/typesetting/texlive.xml@ 4c24eb0

10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 4c24eb0 was 4c24eb0, checked in by Pierre Labastie <pieere@…>, 8 months ago

Remove period at the end of short descriptions.
In the process, some attributes in single quotes have been changed to double
quotes, and a few attribute lists have been written on one line instead of
several lines.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24236 af4574ff-66df-0310-9fd7-8a98e5e911e0

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