source: pst/typesetting/texlive.xml@ e3dfe5e

10.0 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 e3dfe5e was e3dfe5e, checked in by Ken Moffat <ken@…>, 14 months ago

TexLive source: remove system poppler option.

Fails to build with current poppler, and upstream has removed poppler for TL2021.

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

  • Property mode set to 100644
File size: 19.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 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 <note>
261 <para>
262 A successful install requires some texlive
263 commands to be run as the root user, so we will export the TEXARCH
264 variable to let <systemitem class="username">root</systemitem> use it.
265 </para>
266 </note>
267
268 <para>
269 Now, as a normal user:
270 </para>
271<!-- after the export!
272patch -Np1 -i ../texlive-&texlive-version;-source-upstream_fixes-1.patch &amp;&amp;-->
273
274<!-- System poppler was removed from upstream in
275 https://tug.org/svn/texlive?view=revision&revision=55138
276 so for remaining lifetime of TL2020 use its shipped version
277 because it does not build with current system poppler -->
278
279<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
280
281mkdir texlive-build &amp;&amp;
282cd texlive-build &amp;&amp;
283
284../configure \
285 --prefix=/opt/texlive/&texlive-year; \
286 --bindir=/opt/texlive/&texlive-year;/bin/$TEXARCH \
287 --datarootdir=/opt/texlive/&texlive-year; \
288 --includedir=/opt/texlive/&texlive-year;/include \
289 --infodir=/opt/texlive/&texlive-year;/texmf-dist/doc/info \
290 --libdir=/opt/texlive/&texlive-year;/lib \
291 --mandir=/opt/texlive/&texlive-year;/texmf-dist/doc/man \
292 --disable-native-texlive-build \
293 --disable-static --enable-shared \
294 --disable-dvisvgm \
295 --with-system-cairo \
296 --with-system-fontconfig \
297 --with-system-freetype2 \
298 --with-system-gmp \
299 --with-system-graphite2 \
300 --with-system-harfbuzz \
301 --with-system-icu \
302 --with-system-libgs \
303 --with-system-libpaper \
304 --with-system-libpng \
305 --with-system-mpfr \
306 --with-system-pixman \
307 --with-system-zlib \
308 --with-banner-add=" - BLFS" &amp;&amp;
309
310make</userinput></screen>
311
312 <para>
313 To test the results, issue: <command>make -k check</command>.
314 One of the Kpathsea tests will fail because BLFS uses system
315 libraries.
316 <!-- https://tug.org/pipermail/tex-k/2019-August/003036.html -->
317 </para>
318
319 <para>
320 Now, as the <systemitem class="username">root</systemitem> user:
321 </para>
322
323<!-- Editors, you can run 'make texlinks' in a DESTDIR by passing
324DESTDIR#some/where -->
325<screen role="root"><userinput>make install-strip &amp;&amp;
326/sbin/ldconfig &amp;&amp;
327make texlinks &amp;&amp;
328mkdir -pv /opt/texlive/&texlive-year;/tlpkg/TeXLive/ &amp;&amp;
329install -v -m644 ../texk/tests/TeXLive/* /opt/texlive/&texlive-year;/tlpkg/TeXLive/ &amp;&amp;
330tar -xf ../../texlive-&tex-tlpdb-version;-tlpdb-full.tar.gz -C /opt/texlive/&texlive-year;/tlpkg</userinput></screen>
331
332 <note>
333 <para>
334 Only run <command>make texlinks</command> once. If it is rerun,
335 it can change all the program symlinks so that they point to
336 themselves and are useless.
337 </para>
338 </note>
339
340 <para>
341 Now install the additional files as the
342 <systemitem class="username">root</systemitem> user:
343 </para>
344
345<!-- if texmf does not need to be patched, remove &amp;&amp; from first line,
346 close userinput, screen, comment pushd, patch, popd -->
347<screen role="root"><userinput>tar -xf ../../texlive-&texmf-version;-texmf.tar.xz -C /opt/texlive/&texlive-year; --strip-components=1</userinput></screen>
348
349 <para>
350 Still as the <systemitem class="username">root</systemitem> user,
351 initialise the new system (the commands <command>fmtutil-sys
352 --all</command> and <command>mtxrun --generate</command> will produce
353 a <emphasis>lot</emphasis> of output):
354 </para>
355
356<!-- Editors, fmtutil-sys and mtxrun \-\-generate can apparently only be run on
357a real install, as root. But mktexlsr can be run in a DESTDIR with
358cd /YOUR/TEXMF/ROOT ; ls -LAR ./ >ls-R -->
359
360<screen role="root"><userinput>mktexlsr &amp;&amp;
361fmtutil-sys --all &amp;&amp;
362mtxrun --generate</userinput></screen>
363
364 <para>
365 You can now proceed to <xref linkend="asymptote"/>,
366 <xref linkend="biber"/>, <xref linkend="dvisvgm"/> and / or <xref
367 linkend="xindy"/> if you wish to install them.
368 </para>
369
370 </sect2>
371
372 <sect2 role="commands">
373 <title>Command Explanations</title>
374
375<!--<para>
376 <command>patch -Np1 -i ../texlive-&texlive-version;-source-upstream_fixes-1.patch</command>:
377 various problems have come to light since the shipped source was frozen to
378 be committed to DVDs.
379 </para>-->
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 /opt/texlive/&texlive-year; --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 /opt/texlive/&texlive-year;/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, libptexenc.so, libsynctex.so, libtexlua52.so,
464 libtexluajit.so</seg>
465 <seg>/opt/texlive/&texlive-year;/bin, /opt/texlive/&texlive-year;/include,
466 /opt/texlive/&texlive-year;/lib, /opt/texlive/&texlive-year;/texmf-dist</seg>
467 </seglistitem>
468 </segmentedlist>
469
470 <variablelist>
471 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
472 <?dbfo list-presentation="list"?>
473 <?dbhtml list-presentation="table"?>
474
475 <varlistentry id="texlive-programs">
476 <term><command>TeX&nbsp;programs</command></term>
477 <listitem>
478 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
479 href="../../xincludes/texprogs.xml"/>
480 <indexterm zone="texlive texlive-programs">
481 <primary sortas="b-texlive-programs">TeX Live programs</primary>
482 </indexterm>
483 </listitem>
484 </varlistentry>
485
486 <varlistentry id="libkpathsea">
487 <term><filename class="libraryfile">libkpathsea.so</filename></term>
488 <listitem>
489 <para>
490 (kpathsearch) exists to look up a file in a list of directories
491 and is used by <command>kpsewhich</command>.
492 </para>
493 <indexterm zone="texlive libkpathsea">
494 <primary sortas="c-libkpathsea">libkpathsea.so</primary>
495 </indexterm>
496 </listitem>
497 </varlistentry>
498
499 <varlistentry id="libptexenc">
500 <term><filename class="libraryfile">libptexenc.so</filename></term>
501 <listitem>
502 <para>
503 is a library for Japanese pTeX (publishing TeX).
504 </para>
505 <indexterm zone="texlive libptexenc">
506 <primary sortas="c-libptexenc">libptexenc.so</primary>
507 </indexterm>
508 </listitem>
509 </varlistentry>
510
511 <varlistentry id="libsynctex">
512 <term><filename class="libraryfile">libsynctex.so</filename></term>
513 <listitem>
514 <para>
515 is the SyncTeX (Synchronize TeXnology) parser library.
516 </para>
517 <indexterm zone="texlive libsynctex">
518 <primary sortas="c-libsynctex">libsynctex.so</primary>
519 </indexterm>
520 </listitem>
521 </varlistentry>
522
523 <varlistentry id="libtexlua52">
524 <term><filename class="libraryfile">libtexlua52.so</filename></term>
525 <listitem>
526 <para>
527 provides Lua 5.2, modified for use with LuaTeX.
528 </para>
529 <indexterm zone="texlive libtexlua52">
530 <primary sortas="c-libtexlua52">libtexlua52.so</primary>
531 </indexterm>
532 </listitem>
533 </varlistentry>
534
535 <varlistentry id="libtexluajit">
536 <term><filename class="libraryfile">libtexluajit.so</filename></term>
537 <listitem>
538 <para>
539 provides LuaJIT, modified for use with LuaJITTeX.
540 </para>
541 <indexterm zone="texlive libtexluajit">
542 <primary sortas="c-libtexluajit">libtexluajit.so</primary>
543 </indexterm>
544 </listitem>
545 </varlistentry>
546 </variablelist>
547
548 </sect2>
549
550</sect1>
Note: See TracBrowser for help on using the repository browser.