source: pst/typesetting/texlive.xml@ 45ab6c7

11.0 ken/refactor-virt lazarus qt5new trunk
Last change on this file since 45ab6c7 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 5 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

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