source: pst/typesetting/texlive.xml@ a0fd5377

10.0 10.1 11.0 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since a0fd5377 was a0fd5377, checked in by Ken Moffat <ken@…>, 4 years ago

biber-2.11 with tags for source texlive packages and PDF viewers.

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

  • Property mode set to 100644
File size: 16.8 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 "f98f6bde0a2c20fc894d983d542beaad">
10 <!ENTITY texlive-size "61 MB">
11
12 <!ENTITY texlive-buildsize "6.0 GB including the additional download, 4.9 GB installed">
13 <!ENTITY texlive-time "8.2 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 "44bb5d71fc64ac90118f8c5013e39b89">
18 <!ENTITY texlive-texmf-size "2.3 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 &lfs82_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-gcc7-1.patch"/></para>
107 </listitem>
108 <listitem>
109 <para>Required patch: <ulink
110 url="&patch-root;/texlive-&texlive-version;-source-upstream_fixes-2.patch"/></para>
111 </listitem>
112 <listitem>
113 <para>Required patch: <ulink
114 url="&patch-root;/texlive-&texlive-version;-source-poppler059-1.patch"/></para>
115 </listitem>
116 <listitem>
117 <para>Required patch: <ulink
118 url="&patch-root;/texlive-&texlive-version;-texmf-upstream_fixes-1.patch"/></para>
119 </listitem>
120 </itemizedlist>
121
122 <bridgehead renderas="sect3">TeX Live from source Dependencies</bridgehead>
123
124 <bridgehead renderas="sect4">Recommended</bridgehead>
125 <para role="recommended">
126 <xref linkend="gs"/> <emphasis>including
127 <filename>libgs.so</filename></emphasis> (for dvisvgm, which is used by e.g.
128 <xref role="nodep" linkend="asymptote"/>),
129 <xref linkend="x-window-system"/>
130 </para>
131
132 <!-- text for recommended libraries -->
133 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
134 href="../../xincludes/texrecommendlibs.xml"/>
135
136 <bridgehead renderas="sect4">Optional</bridgehead>
137 <!-- text for optional deps -->
138 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
139 href="../../xincludes/texoptional.xml"/>
140
141 <bridgehead renderas="sect4">Runtime dependencies</bridgehead>
142 <!-- text for runtime deps, shared with tl-installer -->
143 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
144 href="../../xincludes/texruntime.xml"/>
145
146 <para condition="html" role="usernotes">User Notes:
147 <ulink url="&blfs-wiki;/texlive"/></para>
148
149 </sect2>
150
151 <sect2 role="installation">
152 <title>Installation of TeX Live</title>
153
154 <para>
155 Install TeX Live by running the following commands:
156 </para>
157
158 <para>The shared libraries will be installed into a texlive directory.
159 As the <systemitem class="username">root</systemitem> user, add it to
160 your <filename>/etc/ld.so.conf</filename>:</para>
161
162<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
163<literal># Begin texlive &texlive-year; addition
164
165/opt/texlive/&texlive-year;/lib
166
167# End texlive &texlive-year; addition</literal>
168EOF</userinput></screen>
169
170 <note>
171 <para>
172 From 2015 onwards, a successful install requires some texlive
173 commands to be run as the root user, so we will export the TEXARCH
174 variable to let <systemitem class="username">root</systemitem> use it.
175 </para>
176 </note>
177
178 <para>
179 Now, as a normal user:
180 </para>
181<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
182
183patch -Np1 -i ../texlive-&texlive-version;-source-gcc7-1.patch &amp;&amp;
184patch -Np1 -i ../texlive-&texlive-version;-source-upstream_fixes-2.patch &amp;&amp;
185patch -Np1 -i ../texlive-&texlive-version;-source-poppler059-1.patch &amp;&amp;
186
187mkdir texlive-build &amp;&amp;
188cd texlive-build &amp;&amp;
189
190../configure \
191 --prefix=/opt/texlive/&texlive-year; \
192 --bindir=/opt/texlive/&texlive-year;/bin/$TEXARCH \
193 --datarootdir=/opt/texlive/&texlive-year; \
194 --includedir=/opt/texlive/&texlive-year;/include \
195 --infodir=/opt/texlive/&texlive-year;/texmf-dist/doc/info \
196 --libdir=/opt/texlive/&texlive-year;/lib \
197 --mandir=/opt/texlive/&texlive-year;/texmf-dist/doc/man \
198 --disable-native-texlive-build \
199 --disable-static --enable-shared \
200 --with-system-cairo \
201 --with-system-fontconfig \
202 --with-system-freetype2 \
203 --with-system-gmp \
204 --with-system-graphite2 \
205 --with-system-harfbuzz \
206 --with-system-icu \
207 --with-system-libgs \
208 --with-system-libpaper \
209 --with-system-libpng \
210 --with-system-mpfr \
211 --with-system-pixman \
212 --with-system-poppler \
213 --with-system-xpdf \
214 --with-system-zlib \
215 --with-banner-add=" - BLFS" &amp;&amp;
216
217make</userinput></screen>
218
219 <para>To test the results, issue: <command>make check</command>
220 A few tests may SKIP because kpathsea
221 has not yet been installed.</para>
222
223 <para>Now, as the <systemitem class="username">root</systemitem>
224 user:</para>
225
226<screen role="root"><userinput>make install-strip &amp;&amp;
227/sbin/ldconfig &amp;&amp;
228make texlinks &amp;&amp;
229mkdir -pv /opt/texlive/&texlive-year;/tlpkg/TeXLive/ &amp;&amp;
230install -v -m644 ../texk/tests/TeXLive/* /opt/texlive/&texlive-year;/tlpkg/TeXLive/</userinput></screen>
231
232 <note>
233 <para>
234 Only run <command>make texlinks</command> once. If it is rerun,
235 it can change all the program symlinks so that they point to
236 themselves and are useless.
237 </para>
238 </note>
239
240 <para>Now install the additional files as the
241 <systemitem class="username">root</systemitem> user:</para>
242
243<!-- if texmf does not need to be patched, remove &amp;&amp; from first line,
244 close userinput, screen, comment pushd, patch, popd -->
245<screen role="root"><userinput>tar -xf ../../texlive-&texmf-version;-texmf.tar.xz -C /opt/texlive/&texlive-year; --strip-components=1 &amp;&amp;
246pushd /opt/texlive/&texlive-year; &amp;&amp;
247patch -Np1 -i /sources/texlive-&texlive-version;-texmf-upstream_fixes-1.patch &amp;&amp;
248popd</userinput></screen>
249
250 <para>Still as the <systemitem class="username">root</systemitem> user,
251 initialise the new system (the commands <command>fmtutil-sys --all</command>
252 and <command>mtxrun --generate</command> will produce a
253 <emphasis>lot</emphasis> of output):</para>
254
255<screen role="root"><userinput>mktexlsr &amp;&amp;
256fmtutil-sys --all &amp;&amp;
257mtxrun --generate</userinput></screen>
258
259 <para>You can now proceed to <xref linkend="asymptote"/>,
260 <xref linkend="biber"/> and / or <xref linkend="xindy"/> if you
261 wish to install them.</para>
262
263 </sect2>
264
265 <sect2 role="commands">
266 <title>Command Explanations</title>
267
268 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
269 href="../../xincludes/tex-prefix.xml"/>
270
271 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
272 href="../../xincludes/tex-lib.xml"/>
273
274 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
275 href="../../xincludes/static-libraries.xml"/>
276
277 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
278 href="../../xincludes/tex-shared.xml"/>
279
280 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
281 href="../../xincludes/tex-system.xml"/>
282
283 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
284 href="../../xincludes/tex-xpdf.xml"/>
285
286 <para>
287 <option>--without-x</option>: use this if you do not have Xorg installed.
288 </para>
289
290 <para>
291 <command>/sbin/ldconfig</command>: this has to be run here so that <command>make
292 texlinks</command> can use kpsewhich.
293 </para>
294
295 <para>
296 <command>make texlinks</command> : this runs the texlinks.sh script
297 to create symbolic links from formats to engines. In
298 practice, several of the targets such as <command>xetex</command> are now
299 separate binaries and for these it will report "file already exists".
300 </para>
301
302 <para>
303 <command>tar -xf texlive-&texmf-version;-texmf.tar.xz -C /opt/texlive/&texlive-year; --strip-components=1</command>:
304 the tarball contains the files for the texmf-dist directory, and because
305 of its size we do not want to waste time and space untarring it and then
306 copying the files.
307 </para>
308
309 <para>
310 <command>patch -Np1 -i /sources/texlive-&texlive-version;-texmf...</command>:
311 This fixes various problems with the UKenglish and USenglish variants of
312 babel which were found after the source was released are included in the
313 binary installer. Because this is
314 applied to the installated texmf (to minimise disk space) it is necessary
315 to point to /sources instead of using ../
316 </para>
317
318 <para>
319 <command>install -v -m644 ../texk/tests/TeXLive/*
320 /opt/texlive/&texlive-year;/tlpkg/TeXLive/</command>: This puts the perl
321 modules <filename>TLConfig.pm</filename> and <filename>TLUtils.pm</filename>
322 into the directory where the binary installer puts them - it is at the
323 start of the perl @INC@ PATH within texlive when installed using the above
324 configure switches. Without these modules, texlive is unusable.
325 </para>
326
327 <para>
328 <command>mktexlsr</command>: Create an <filename>ls-R</filename> file
329 which lists what was installed - this is used by kpathsea to find files.
330 </para>
331
332 <para>
333 <command>fmtutil-sys --all</command>: This initialises the TeX formats,
334 Metafont bases and Metapost mems.
335 </para>
336
337 <para>
338 <command>mtxrun --generate</command>: This initialise the ConTeXt system.
339 </para>
340
341 </sect2>
342
343 <sect2 role="content">
344 <title>Contents</title>
345
346 <segmentedlist>
347 <segtitle>Installed Programs</segtitle>
348 <segtitle>Installed Libraries</segtitle>
349 <segtitle>Installed Directories</segtitle>
350
351 <seglistitem>
352 <seg>Over 300 binaries and symlinks to scripts</seg>
353 <seg>libkpathsea.so, libptexenc.so, libsynctex.so, libtexlua52.so,
354 libtexluajit.so</seg>
355 <seg>/opt/texlive/&texlive-year;/bin, /opt/texlive/&texlive-year;/include,
356 /opt/texlive/&texlive-year;/lib, /opt/texlive/&texlive-year;/texmf-dist</seg>
357 </seglistitem>
358 </segmentedlist>
359
360 <variablelist>
361 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
362 <?dbfo list-presentation="list"?>
363 <?dbhtml list-presentation="table"?>
364
365 <varlistentry id="texlive-programs">
366 <term><command>TeX&nbsp;programs</command></term>
367 <listitem>
368 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
369 href="../../xincludes/texprogs.xml"/>
370 <indexterm zone="texlive texlive-programs">
371 <primary sortas="b-texlive-programs">TeX Live programs</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 <varlistentry id="libkpathsea">
377 <term><filename class="libraryfile">libkpathsea.so</filename></term>
378 <listitem>
379 <para>
380 (kpathsearch) exists to look up a file in a list of directories
381 and is used by <command>kpsewhich</command>.
382 </para>
383 <indexterm zone="texlive libkpathsea">
384 <primary sortas="c-libkpathsea">libkpathsea.so</primary>
385 </indexterm>
386 </listitem>
387 </varlistentry>
388
389 <varlistentry id="libptexenc">
390 <term><filename class="libraryfile">libptexenc.so</filename></term>
391 <listitem>
392 <para>
393 is a library for Japanese pTeX (publishing TeX).
394 </para>
395 <indexterm zone="texlive libptexenc">
396 <primary sortas="c-libptexenc">libptexenc.so</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="libsynctex">
402 <term><filename class="libraryfile">libsynctex.so</filename></term>
403 <listitem>
404 <para>
405 is the SyncTeX (Synchronize TeXnology) parser library.
406 </para>
407 <indexterm zone="texlive libsynctex">
408 <primary sortas="c-libsynctex">libsynctex.so</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="libtexlua52">
414 <term><filename class="libraryfile">libtexlua52.so</filename></term>
415 <listitem>
416 <para>
417 provides Lua 5.2, modified for use with LuaTeX.
418 </para>
419 <indexterm zone="texlive libtexlua52">
420 <primary sortas="c-libtexlua52">libtexlua52.so</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="libtexluajit">
426 <term><filename class="libraryfile">libtexluajit.so</filename></term>
427 <listitem>
428 <para>
429 provides LuaJIT, modified for use with LuaJITTeX.
430 </para>
431 <indexterm zone="texlive libtexluajit">
432 <primary sortas="c-libtexluajit">libtexluajit.so</primary>
433 </indexterm>
434 </listitem>
435 </varlistentry>
436 </variablelist>
437
438 </sect2>
439
440</sect1>
Note: See TracBrowser for help on using the repository browser.