source: pst/typesetting/texlive.xml@ 1ecdb18

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules 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 1ecdb18 was 1ecdb18, checked in by Ken Moffat <ken@…>, 10 years ago

Add libpaper, and alphabetize deps where it is referenced.

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

  • Property mode set to 100644
File size: 13.2 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-source-download-http " ">
8 <!ENTITY texlive-source-download-ftp "ftp://tug.org/texlive/historic/&texlive-year;/texlive-&texlive-version;-source.tar.xz">
9 <!ENTITY texlive-source-md5sum "09ee265ff51637827559affc7304078c">
10 <!ENTITY texlive-source-size "40 MB">
11
12 <!-- buildsize is the source dir, plus the kpathsea files installed to /usr.
13 The progs in bin/ARCH/ seem slightly smaller (shared libs) -->
14 <!ENTITY texlive-buildsize "555 MB">
15 <!ENTITY texlive-time "8.4 SBU">
16]>
17
18<sect1 id="texlive" xreflabel="texlive-&texlive-version;">
19 <?dbhtml filename="texlive.html"?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>texlive-&texlive-version;</title>
27
28 <indexterm zone="texlive">
29 <primary sortas="a-texlive">texlive</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to TeX Live from source</title>
34
35 <para>A binary version of the <application>TeX Live</application> package
36 is installed at <xref linkend="tl-installer"/>. Here, we use that to rebuild
37 the compiled programs from source.</para>
38
39 &lfs75_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>Download (HTTP): <ulink url="&texlive-source-download-http;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download (FTP): <ulink url="&texlive-source-download-ftp;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download MD5 sum: &texlive-source-md5sum;</para>
51 </listitem>
52 <listitem>
53 <para>Download size: &texlive-source-size;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated disk space required: &texlive-buildsize;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated build time: &texlive-time;</para>
60 </listitem>
61 </itemizedlist>
62
63 <bridgehead renderas="sect3">TeX Live Dependencies</bridgehead>
64
65 <bridgehead renderas="sect4">Required</bridgehead>
66 <para role="required">
67 <xref linkend="tl-installer"/> or a previous version of TeX Live
68 (untested, you would need to alter the configure switches which refer
69 to &texlive-year; so that it overwrites your existing installation, or
70 else copy everything to the location for the current year).
71 </para>
72
73 <bridgehead renderas="sect4">Recommended</bridgehead>
74 <para role="recommended">
75 <xref linkend="gs"/> (for dvisvgm, which is used by asy),
76 <xref linkend="x-window-system"/>
77 </para>
78 <para>
79 The source ships with its own versions of <emphasis>many</emphasis>
80 libraries, and will use them unless it is forced to use the system
81 versions. The following are recommended so that the system version
82 will be used:
83 <xref linkend="fontconfig"/>,
84 <xref linkend="freetype2"/>,
85 <xref linkend="gc"/>,
86 <xref linkend="graphite2"/>,
87 <xref linkend="harfbuzz"/> (linked to graphite2),
88 <xref linkend="icu"/>,
89 <xref linkend="libpaper"/>,
90 <xref linkend="libpng"/>,
91 <xref linkend="poppler"/>
92 </para>
93
94 <bridgehead renderas="sect4">Optional</bridgehead>
95 <para role="optional">
96 <ulink url="http://www.fftw.org/">FFTW</ulink> can be used by asy.
97 </para>
98 <para role="optional">
99 <ulink url="http://www.gnu.org/software/clisp/">clisp</ulink> is a build-time
100 dependency for xindy, see <filename>utils/xindy/README-clisp</filename>.
101 </para>
102 <para>
103 The source ships with its own versions of several libraries which are either
104 not under active development, or only used for limited functionality. If
105 you install these, as with some other optional dependencies in this book you
106 will need to tell <command>configure</command> to use the system versions.
107 <ulink url="http://libgd.bitbucket.org">GD</ulink>,
108 <ulink url="http://fossies.org/linux/misc/t1lib-5.1.2.tar.gz/">t1lib</ulink>,
109 <ulink url="http://sourceforge.net/projects/zziplib/">ZZIPlib</ulink>,
110 <ulink url="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=TECkitDownloads">TECkit</ulink>
111 </para>
112
113 <bridgehead renderas="sect4">Runtime dependencies</bridgehead>
114 <para role="recommended">
115 Some (re-installed) scripts will use
116 <xref linkend="python2"/> or <xref linkend="ruby"/>.
117 </para>
118
119 <para condition="html" role="usernotes">User Notes:
120 <ulink url="&blfs-wiki;/texlive"/></para>
121
122 </sect2>
123
124 <sect2 role="installation">
125 <title>Installation of TeX Live</title>
126
127 <para>These instructions will overwrite the corresponding files from the
128 binary installer. As with the installer, change x86_64-linux to whatever
129 matches your architecture.</para>
130
131 <para>Please note that installing from source will recompile the binary
132 programs and recreate the <literal>man</literal> and <literal>info</literal>
133 files. It will also overwrite the scripts - some of these may be older
134 versions than those from the newer installer. It will <emphasis>not</emphasis>
135 recreate any of the following: the more than 200 symlinks in the
136 x86_64-linux directory (some are alternate names, many are pointers to
137 the scripts), html files, PDF files, licenses, README files, two config
138 files (<filename>texmf.cnf</filename> and <filename>texmfcnf.lua</filename>),
139 nor the many package and font files in
140 <filename class="directory">texmf-dist</filename> and
141 <filename class="directory">texmf-var</filename>, nor the files recording
142 the actions of the installer, and the <filename>ls-R</filename> files listing
143 what was originally installed.</para>
144
145 <para>At the moment, these instructions do not rebuild
146 <application>biber</application> or <application>xindy</application> which were
147 installed by the binary installer. See the "Special considerations for ..."
148 paragraphs of
149 <ulink url="http://tug.org/texlive/build.html">Building TeX Live</ulink>.
150 Asy and the rest of asymptote is by default not rebuilt, so we have to
151 separately run <command>configure</command> and <command>make</command> in its
152 directory.
153 </para>
154
155<screen><userinput>mkdir texlive-build &amp;&amp;
156cd texlive-build &amp;&amp;
157
158../configure \
159 --prefix=/opt/texlive/&texlive-year; \
160 --bindir=/opt/texlive/&texlive-year;/bin/x86_64-linux \
161 --datarootdir=/opt/texlive/&texlive-year; \
162 --includedir=/usr/include \
163 --infodir=/opt/texlive/&texlive-year;/texmf-dist/doc/info \
164 --libdir=/usr/lib \
165 --mandir=/opt/texlive/&texlive-year;/texmf-dist/doc/man \
166 --disable-native-texlive-build \
167 --disable-static --enable-shared \
168 --with-system-cairo \
169 --with-system-fontconfig \
170 --with-system-freetype2 \
171 --with-system-graphite2 \
172 --with-system-harfbuzz \
173 --with-system-icu \
174 --with-system-libgs \
175 --with-system-libpng \
176 --with-system-pixman \
177 --with-system-poppler \
178 --with-system-xpdf \
179 --with-system-zlib \
180 --with-banner-add=" - BLFS"</userinput></screen>
181
182 <para>Asymptote has to be separately configured. It ships with its own copy
183 of the gc source tarball, and will only use the system version if that local
184 source is removed.
185 </para>
186
187<screen><userinput>pushd ../utils/asymptote &amp;&amp;
188 rm -v gc-7.4.0.tar.gz &amp;&amp;
189
190 echo "ac_cv_lib_m_sqrt=yes" >config.cache &amp;&amp;
191 echo "ac_cv_lib_z_deflate=yes" >>config.cache &amp;&amp;
192
193./configure LIBS="-ltirpc " \
194 --prefix=/opt/texlive/&texlive-year;/ \
195 --bindir=/opt/texlive/&texlive-year;/bin/x86_64-linux \
196 --enable-texlive-build \
197 --datarootdir=/opt/texlive/&texlive-year;/texmf-dist \
198 --infodir=/opt/texlive/&texlive-year;/texmf-dist/doc/info \
199 --mandir=/opt/texlive/&texlive-year;/texmf-dist/doc/man \
200 --cache-file=config.cache &amp;&amp;
201popd &amp;&amp;
202
203make &amp;&amp;
204make -C ../utils/asymptote</userinput></screen>
205
206 <para>To test the results, issue: <command>make -k check &amp;&amp;
207 make -C utils/asymptote check</command>.</para>
208
209 <para>Now, as the <systemitem class="username">root</systemitem>
210 user:</para>
211
212<screen><userinput role="root">make install &amp;&amp;
213make -C ../utils/asymptote install</userinput></screen>
214
215 </sect2>
216
217 <sect2 role="commands">
218 <title>Command Explanations</title>
219
220 <para>
221 <parameter>--prefix=, --bindir=, --datarootdir=, --infodir=, --mandir= ...
222 </parameter>: these switches ensure that the files installed from source
223 will overwrite the corresponding files previously installed by
224 <application>install-tl</application>.
225 </para>
226
227 <para>
228 <parameter>--includedir=, --libdir= ...</parameter> : these switches ensure
229 that the libraries will be found at runtime, and that programs can be
230 compiled against them.
231 </para>
232
233 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
234 href="../../xincludes/static-libraries.xml"/>
235
236 <para>
237 <parameter>--enable-shared</parameter>: Use shared versions of
238 <filename class="libraryfile">libkpathsea</filename> and
239 <filename class="libraryfile">libptexenc</filename>.
240 </para>
241
242 <para>
243 <parameter>--with-system-...</parameter>: Unless this parameter is used,
244 the included versions of these libraries will be statically compiled
245 into the programs which need them. If you decided not to install a
246 recommended library, omit the corresponding switches.
247 </para>
248
249 <para>
250 <parameter>--with-system-xpdf</parameter>: Uniquely, this parameter has
251 a non-standard meaning, it tells <command>configure</command> to use the
252 system-installed <application>poppler</application> headers and library.
253 Again, omit this if you have not installed
254 <application>poppler</application>.
255 </para>
256
257 <para>
258 <parameter>echo "ac_cv_lib_m_sqrt=yes" ... LIBS="-ltirpc " &gt;config.cache,
259 ... --cache-file=config.cache</parameter> : The configure scripts in
260 <application>TeX Live</application> are uncommon. Asymptote not only has to
261 be separately configured and built, the configure script fails to find the
262 shared <filename class="libraryfile">libtirpc.so</filename>. Passing that
263 in LIBS breaks the tests for (static) libm and (shared) libz, so we have to
264 fix things up, in much the same way as when cross-compiling.
265 </para>
266
267 <para>
268 <option>--without-x</option>: use this (and omit the configure and make in
269 <filename>utils/asymptote</filename> if you do not have Xorg installed.
270 </para>
271
272 </sect2>
273
274 <sect2 role="content">
275 <title>Contents</title>
276
277 <segmentedlist>
278 <segtitle>Installed Programs</segtitle>
279 <segtitle>Installed Libraries</segtitle>
280 <segtitle>Installed Directories</segtitle>
281
282 <seglistitem>
283 <seg>Over 300 binaries and symlinks to scripts</seg>
284 <seg>libkpathsea.so, libptexenc.so</seg>
285 <seg>/opt/texlive, /usr/include/kpathsea, /usr/include/ptexenc</seg>
286 </seglistitem>
287 </segmentedlist>
288
289 <variablelist>
290 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
291 <?dbfo list-presentation="list"?>
292 <?dbhtml list-presentation="table"?>
293
294 <varlistentry id="texlive-programs">
295 <term><command>TeX&nbsp;programs</command></term>
296 <listitem>
297 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
298 href="../../xincludes/texprogs.xml"/>
299 <indexterm zone="texlive texlive-programs">
300 <primary sortas="b-texlive-programs">TeX Live programs</primary>
301 </indexterm>
302 </listitem>
303 </varlistentry>
304
305 <varlistentry id="libkpathsea">
306 <term><filename class="libraryfile">libkpathsea.so</filename></term>
307 <listitem>
308 <para>
309 (kpathsearch) exists to look up a file in a list of directories.
310 </para>
311 <indexterm zone="texlive libkpathsea">
312 <primary sortas="c-libkpathsea">libkpathsea.so</primary>
313 </indexterm>
314 </listitem>
315 </varlistentry>
316
317 <varlistentry id="libptexenc">
318 <term><filename class="libraryfile">libptexenc.so</filename></term>
319 <listitem>
320 <para>
321 is a library for Japanese pTeX (publishing TeX).
322 </para>
323 <indexterm zone="texlive libptexenc">
324 <primary sortas="c-libptexenc">libptexenc.so</primary>
325 </indexterm>
326 </listitem>
327 </varlistentry>
328 </variablelist>
329
330 </sect2>
331
332</sect1>
Note: See TracBrowser for help on using the repository browser.