source: pst/typesetting/texlive.xml@ e7d893b

elogind
Last change on this file since e7d893b was e7d893b, checked in by DJ Lucas <dj@…>, 5 years ago

Merge to HEAD 21602.

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

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