source: pst/typesetting/texlive.xml@ 322aff6

10.0 10.1 11.0 11.1 lazarus qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 322aff6 was 322aff6, checked in by Ken Moffat <ken@…>, 2 years ago

Add tlpdb tarball to texlive source to fix texdoc.

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

  • Property mode set to 100644
File size: 20.9 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 &lfs91_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. -->
270<screen><userinput>SYSPOP= &amp;&amp;
271let MYPOPPLER=$(pkg-config --modversion poppler | cut -d '.' -f2)
272if [ "$MYPOPPLER" -lt 85 ]; then
273 # BLFS-9.1 uses 0.85.0, ignore earlier versions in this script.
274 SYSPOP=
275else
276 SYSPOP="--with-system-poppler --with-system-xpdf --with-system-potrace"
277 if [ $MYPOPPLER -lt 86 ]; then
278 mv -v texk/web2c/pdftexdir/pdftoepdf{-poppler0.83.0,}.cc
279 else # 0.86.0 or later.
280 mv -v texk/web2c/pdftexdir/pdftoepdf{-poppler0.86.0,}.cc
281 fi
282 # For pdftosrc BLFS-9.1 uses 0.83.0 and that is the latest variant.
283 mv -v texk/web2c/pdftexdir/pdftosrc{-poppler0.83.0,}.cc
284fi &amp;&amp;
285export SYSPOP &amp;&amp;
286unset MYPOPPLER</userinput></screen>
287
288 <note>
289 <para>
290 A successful install requires some texlive
291 commands to be run as the root user, so we will export the TEXARCH
292 variable to let <systemitem class="username">root</systemitem> use it.
293 </para>
294 </note>
295
296 <para>
297 Now, as a normal user:
298 </para>
299<!-- after the export!
300patch -Np1 -i ../texlive-&texlive-version;-source-upstream_fixes-1.patch &amp;&amp;-->
301<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
302
303mkdir texlive-build &amp;&amp;
304cd texlive-build &amp;&amp;
305
306../configure \
307 --prefix=/opt/texlive/&texlive-year; \
308 --bindir=/opt/texlive/&texlive-year;/bin/$TEXARCH \
309 --datarootdir=/opt/texlive/&texlive-year; \
310 --includedir=/opt/texlive/&texlive-year;/include \
311 --infodir=/opt/texlive/&texlive-year;/texmf-dist/doc/info \
312 --libdir=/opt/texlive/&texlive-year;/lib \
313 --mandir=/opt/texlive/&texlive-year;/texmf-dist/doc/man \
314 --disable-native-texlive-build \
315 --disable-static --enable-shared \
316 --disable-dvisvgm \
317 --with-system-cairo \
318 --with-system-fontconfig \
319 --with-system-freetype2 \
320 --with-system-gmp \
321 --with-system-graphite2 \
322 --with-system-harfbuzz \
323 --with-system-icu \
324 --with-system-libgs \
325 --with-system-libpaper \
326 --with-system-libpng \
327 --with-system-mpfr \
328 --with-system-pixman \
329 ${SYSPOP} \
330 --with-system-zlib \
331 --with-banner-add=" - BLFS" &amp;&amp;
332
333make &amp;&amp;
334unset SYSPOP</userinput></screen>
335
336 <para>
337 To test the results, issue: <command>make -k check</command>.
338 One of the Kpathsea tests will fail because BLFS uses system
339 libraries.
340 <!-- https://tug.org/pipermail/tex-k/2019-August/003036.html -->
341 </para>
342
343 <para>
344 Now, as the <systemitem class="username">root</systemitem> user:
345 </para>
346
347<!-- Editors, you can run 'make texlinks' in a DESTDIR by passing
348DESTDIR#some/where -->
349<screen role="root"><userinput>make install-strip &amp;&amp;
350/sbin/ldconfig &amp;&amp;
351make texlinks &amp;&amp;
352mkdir -pv /opt/texlive/&texlive-year;/tlpkg/TeXLive/ &amp;&amp;
353install -v -m644 ../texk/tests/TeXLive/* /opt/texlive/&texlive-year;/tlpkg/TeXLive/ &amp;&amp;
354tar -xf .././texlive-&tex-tlpdb-version;-tlpdb-full.tar.gz -C /opt/texlive/&texlive-year;/tlpkg</userinput></screen>
355
356 <note>
357 <para>
358 Only run <command>make texlinks</command> once. If it is rerun,
359 it can change all the program symlinks so that they point to
360 themselves and are useless.
361 </para>
362 </note>
363
364 <para>
365 Now install the additional files as the
366 <systemitem class="username">root</systemitem> user:
367 </para>
368
369<!-- if texmf does not need to be patched, remove &amp;&amp; from first line,
370 close userinput, screen, comment pushd, patch, popd -->
371<screen role="root"><userinput>tar -xf ../../texlive-&texmf-version;-texmf.tar.xz -C /opt/texlive/&texlive-year; --strip-components=1</userinput></screen>
372
373 <para>
374 Still as the <systemitem class="username">root</systemitem> user,
375 initialise the new system (the commands <command>fmtutil-sys
376 --all</command> and <command>mtxrun --generate</command> will produce
377 a <emphasis>lot</emphasis> of output):
378 </para>
379
380<!-- Editors, fmtutil-sys and mtxrun \-\-generate can apparently only be run on
381a real install, as root. But mktexlsr can be run in a DESTDIR with
382cd /YOUR/TEXMF/ROOT ; ls -LAR ./ >ls-R -->
383
384<screen role="root"><userinput>mktexlsr &amp;&amp;
385fmtutil-sys --all &amp;&amp;
386mtxrun --generate</userinput></screen>
387
388 <para>
389 You can now proceed to <xref linkend="asymptote"/>,
390 <xref linkend="biber"/>, <xref linkend="dvisvgm"/> and / or <xref
391 linkend="xindy"/> if you wish to install them.
392 </para>
393
394 </sect2>
395
396 <sect2 role="commands">
397 <title>Command Explanations</title>
398
399<!--<para>
400 <command>patch -Np1 -i ../texlive-&texlive-version;-source-upstream_fixes-1.patch</command>:
401 various problems have come to light since the shipped source was frozen to
402 be committed to DVDs.
403 </para>-->
404
405 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
406 href="../../xincludes/tex-prefix.xml"/>
407
408 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
409 href="../../xincludes/tex-lib.xml"/>
410
411 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
412 href="../../xincludes/static-libraries.xml"/>
413
414 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
415 href="../../xincludes/tex-shared.xml"/>
416
417 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
418 href="../../xincludes/tex-system.xml"/>
419<!--
420 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
421 href="../../xincludes/tex-xpdf.xml"/>-->
422
423 <para>
424 <command>--disable-dvisvgm</command>: As noted above, the shipped version
425 of dvisvgm, which has modified configuration files, cannot be built with
426 shared system libraries.
427 </para>
428
429 <para>
430 <option>--without-x</option>: use this if you do not have Xorg installed.
431 </para>
432
433 <para>
434 <command>/sbin/ldconfig</command>: this has to be run here so that
435 <command>make texlinks</command> can use kpsewhich.
436 </para>
437
438 <para>
439 <command>make texlinks</command> : this runs the texlinks.sh script
440 to create symbolic links from formats to engines. In
441 practice, several of the targets such as <command>xetex</command> are now
442 separate binaries and for these it will report "file already exists".
443 </para>
444
445 <para>
446 <command>tar -xf texlive-&texmf-version;-texmf.tar.xz -C /opt/texlive/&texlive-year; --strip-components=1</command>:
447 the tarball contains the files for the texmf-dist directory, and because
448 of its size we do not want to waste time and space untarring it and then
449 copying the files.
450 </para>
451
452 <para>
453 <command>install -v -m644 ../texk/tests/TeXLive/*
454 /opt/texlive/&texlive-year;/tlpkg/TeXLive/</command>: This puts the perl
455 modules <filename>TLConfig.pm</filename> and <filename>TLUtils.pm</filename>
456 into the directory where the binary installer puts them - it is at the
457 start of the perl @INC@ PATH within texlive when installed using the above
458 configure switches. Without these modules, texlive is unusable.
459 </para>
460
461 <para>
462 <command>mktexlsr</command>: Create an <filename>ls-R</filename> file
463 which lists what was installed - this is used by kpathsea to find files.
464 </para>
465
466 <para>
467 <command>fmtutil-sys --all</command>: This initializes the TeX formats,
468 Metafont bases and Metapost mems.
469 </para>
470
471 <para>
472 <command>mtxrun --generate</command>: This initializes the ConTeXt system.
473 </para>
474
475 </sect2>
476
477 <sect2 role="content">
478 <title>Contents</title>
479
480 <segmentedlist>
481 <segtitle>Installed Programs</segtitle>
482 <segtitle>Installed Libraries</segtitle>
483 <segtitle>Installed Directories</segtitle>
484
485 <seglistitem>
486 <seg>Over 300 binaries and symlinks to scripts</seg>
487 <seg>libkpathsea.so, libptexenc.so, libsynctex.so, libtexlua52.so,
488 libtexluajit.so</seg>
489 <seg>/opt/texlive/&texlive-year;/bin, /opt/texlive/&texlive-year;/include,
490 /opt/texlive/&texlive-year;/lib, /opt/texlive/&texlive-year;/texmf-dist</seg>
491 </seglistitem>
492 </segmentedlist>
493
494 <variablelist>
495 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
496 <?dbfo list-presentation="list"?>
497 <?dbhtml list-presentation="table"?>
498
499 <varlistentry id="texlive-programs">
500 <term><command>TeX&nbsp;programs</command></term>
501 <listitem>
502 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
503 href="../../xincludes/texprogs.xml"/>
504 <indexterm zone="texlive texlive-programs">
505 <primary sortas="b-texlive-programs">TeX Live programs</primary>
506 </indexterm>
507 </listitem>
508 </varlistentry>
509
510 <varlistentry id="libkpathsea">
511 <term><filename class="libraryfile">libkpathsea.so</filename></term>
512 <listitem>
513 <para>
514 (kpathsearch) exists to look up a file in a list of directories
515 and is used by <command>kpsewhich</command>.
516 </para>
517 <indexterm zone="texlive libkpathsea">
518 <primary sortas="c-libkpathsea">libkpathsea.so</primary>
519 </indexterm>
520 </listitem>
521 </varlistentry>
522
523 <varlistentry id="libptexenc">
524 <term><filename class="libraryfile">libptexenc.so</filename></term>
525 <listitem>
526 <para>
527 is a library for Japanese pTeX (publishing TeX).
528 </para>
529 <indexterm zone="texlive libptexenc">
530 <primary sortas="c-libptexenc">libptexenc.so</primary>
531 </indexterm>
532 </listitem>
533 </varlistentry>
534
535 <varlistentry id="libsynctex">
536 <term><filename class="libraryfile">libsynctex.so</filename></term>
537 <listitem>
538 <para>
539 is the SyncTeX (Synchronize TeXnology) parser library.
540 </para>
541 <indexterm zone="texlive libsynctex">
542 <primary sortas="c-libsynctex">libsynctex.so</primary>
543 </indexterm>
544 </listitem>
545 </varlistentry>
546
547 <varlistentry id="libtexlua52">
548 <term><filename class="libraryfile">libtexlua52.so</filename></term>
549 <listitem>
550 <para>
551 provides Lua 5.2, modified for use with LuaTeX.
552 </para>
553 <indexterm zone="texlive libtexlua52">
554 <primary sortas="c-libtexlua52">libtexlua52.so</primary>
555 </indexterm>
556 </listitem>
557 </varlistentry>
558
559 <varlistentry id="libtexluajit">
560 <term><filename class="libraryfile">libtexluajit.so</filename></term>
561 <listitem>
562 <para>
563 provides LuaJIT, modified for use with LuaJITTeX.
564 </para>
565 <indexterm zone="texlive libtexluajit">
566 <primary sortas="c-libtexluajit">libtexluajit.so</primary>
567 </indexterm>
568 </listitem>
569 </varlistentry>
570 </variablelist>
571
572 </sect2>
573
574</sect1>
Note: See TracBrowser for help on using the repository browser.