source: pst/typesetting/texlive.xml@ 26e8824

10.0 10.1 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 26e8824 was 26e8824, checked in by Ken Moffat <ken@…>, 4 years ago

texlive-2020

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

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