Changeset 45d9840


Ignore:
Timestamp:
02/09/2014 03:42:03 AM (8 years ago)
Author:
Ken Moffat <ken@…>
Branches:
10.0, 10.1, 11.0, 7.10, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, ken/refactor-virt, krejzi/svn, lazarus, nosym, perl-modules, qt5new, systemd-11177, systemd-13485, trunk, xry111/git-date, xry111/git-date-for-trunk, xry111/git-date-test
Children:
bf7a21dd
Parents:
f8949680
Message:

The main part of the changes for using system libraries on Tex Live.

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

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • introduction/welcome/changelog.xml

    rf8949680 r45d9840  
    4848      <itemizedlist>
    4949        <listitem>
     50          <para>[ken] -  Changes to the configuration switches and details for
     51          building TeX Live from source.  This completes the major work for
     52          <ulink url="&blfs-ticket-root;4647">#4647</ulink> but details re the
     53          installer&apos;s runtime dependencies, and for building asy and xindy,
     54          remain to be investigated.  A big Thank You to Greg Nietsky for
     55          raising this and providing details.</para>
     56        </listitem>
     57        <listitem>
    5058          <para>[fernando] - IcedTea-Web-1.4.2: add NPAPI-SDK-0.27.2 as
    5159          required dependency. Thanks Merell Matlock for reporting. Fixes
  • pst/typesetting/texlive.xml

    rf8949680 r45d9840  
    7373    <bridgehead renderas="sect3">TeX Live Dependencies</bridgehead>
    7474
     75    <bridgehead renderas="sect4">Recommended (to build from source)</bridgehead>
     76    <para role="recommended">
     77      The source ships with its own versions of <emphasis>many</emphasis>
     78      libraries, and will use them unless it is forced to use the system
     79      versions.
     80      <xref linkend="gs"/>,
     81      <xref linkend="icu"/>,
     82      <xref linkend="freetype2"/>,
     83      <xref linkend="fontconfig"/>,
     84      <xref linkend="graphite2"/>,
     85      <xref linkend="harfbuzz"/> (linked to graphite2),
     86      <xref linkend="libpng"/>,
     87      <xref linkend="poppler"/>,
     88      <xref linkend="x-window-system"/>
     89    </para>
     90
     91
    7592    <bridgehead renderas="sect4">Optional (to build from source)</bridgehead>
    7693    <para role="optional">
    77       The source ships with its own versions of <emphasis>many</emphasis> of
    78       these libraries, and will use them unless it is forced to use the system
    79       versions.  Work is in progress to deal with this, in the meantime please
    80       see<ulink url="http://wiki.linuxfromscratch.org/blfs/ticket/4647"> ticket
    81       #4647</ulink>.
    82       <xref linkend="gs"/>,
    83       <xref linkend="poppler"/>,
    84       <xref linkend="freetype2"/>,
    85       <xref linkend="fontconfig"/>,
    86       <xref linkend="libpng"/>,
    87       <xref linkend="x-window-system"/>,
    88       <xref linkend="icu"/>,
     94      The source ships with its own versions of these libraries, which are either
     95      not under active development, or only used for limited functionality.  If
     96      you install these, as with some other optional dependencies in this book you
     97      will need to tell <command>configure</command> to use the system versions.
    8998      <ulink url="http://libgd.bitbucket.org">GD</ulink>,
    9099      <ulink url="http://fossies.org/linux/misc/t1lib-5.1.2.tar.gz/">t1lib</ulink>,
    91100      <ulink url="http://sourceforge.net/projects/zziplib/">ZZIPlib</ulink>,
    92101      <ulink url="http://www.gnu.org/software/clisp/">CLISP</ulink>,
    93       <xref linkend="lua"/>,
    94       <ulink url="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=TECkitDownloads">TECkit</ulink>, and
    95       <xref linkend="graphite2"/>
     102      <ulink url="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=TECkitDownloads">TECkit</ulink>
     103    </para>
     104
     105    <bridgehead renderas="sect4">Runtime dependencies if building from source</bridgehead>
     106    <para role="recommended">
     107      not yet adequate to rebuild this),
     108      <xref linkend="tk"/> for ep2pdftk.
    96109    </para>
    97110
     
    110123
    111124    <para>First, unpack the installer and change into the installer's
    112     directory, <filename class='directory'>install-tl-20130730</filename>.
    113     This directory name may change if the installer package is updated
    114     by the upstream maintainers.</para>
     125    directory, <filename class='directory'>install-tl-&lt;CCYYMMDD&gt;</filename>.
     126    This directory name changes frequently when the installer is updated,
     127    so replace &lt;CCYYMMDD&gt; by the correct directory name.</para>
    115128
    116129<screen><userinput>tar -xf install-tl-unx.tar.gz &amp;&amp;
    117 cd install-tl-20130730 </userinput></screen>
     130cd install-tl-&lt;CCYYMMDD&gt; </userinput></screen>
    118131
    119132    <note><para>The distribution binaries installed below use static linking
     
    126139    user:</para>
    127140
    128 <screen><userinput>TEXLIVE_INSTALL_PREFIX=/opt/texlive ./install-tl</userinput></screen>
     141<screen><userinput role="root">TEXLIVE_INSTALL_PREFIX=/opt/texlive ./install-tl</userinput></screen>
    129142
    130143    <para>This command is interactive and allows selection or modification of
     
    138151    scripts as recommended in <xref linkend='postlfs-config-profile'/>, update
    139152    the needed paths by appending to the <filename>extrapaths.sh</filename> script.
    140     Be sure to adjust the paths below to reflect your actual installation
    141     location.  In addition, the path to the binaries will be affected by your
    142     system architecture.</para>
    143 
    144 <screen><userinput>cat &gt;&gt; /etc/profile.d/extrapaths.sh &lt;&lt; "EOF"
     153    The programs are always installed in an &lt;ARCH&gt;-linux subdirectory.  If
     154    you are not using x86_64, <emphasis>always</emphasis> change that to your
     155    actual installation location.</para>
     156
     157<screen><userinput role="root">cat &gt;&gt; /etc/profile.d/extrapaths.sh &lt;&lt; "EOF"
    145158pathappend /usr/share/man                        MANPATH
    146159pathappend /opt/texlive/&texlive-year;/texmf-dist/doc/man  MANPATH
     
    158171    /etc/profile</command>.</para>
    159172
    160     <para>At this point the installation is complete.  If building from
    161     source is desired, extract the source package as usual and continue.</para>
    162 
    163     <note>
    164       <para>If you do not have Xorg installed add <userinput>--without-x</userinput>
    165       to the configure command.</para>
    166 
    167       <para>If you do not have fontconfig installed, add
    168       <userinput>--disable-xdvipdfmx</userinput> to the configure command.</para>
    169     </note>
    170 
    171 <screen><userinput>./configure --prefix=/usr                  \
    172             --disable-native-texlive-build \
    173             --enable-build-in-source-tree  \
    174             --without-luatex               \
    175             --enable-mktextex-default      \
    176             --with-banner-add=" - BLFS"    &amp;&amp;
     173    <para>At this point the binary installation is complete.</para>
     174
     175    <para>Please note that installing from source will recompile the binary
     176    programs and recreate the <literal>man</literal> and <literal>info</literal>
     177    files.  It will also overwrite the scripts - some of these may be older
     178    versions than those from the newer installer.  It will <emphasis>not</emphasis>
     179    recreate any of the following: the more than 200 symlinks in the
     180    &lt;ARCH&gt;-linux directory (some are alternate names, many are pointers to
     181    the scripts), html files, PDF files, licenses, README files, two config
     182    files (<filename>texmf.cnf</filename> and <filename>texmfcnf.lua</filename>),
     183    nor the many package and font files in
     184    <filename class="directory">texmf-dist</filename> and
     185    <filename class="directory">texmf-var</filename>, nor the files recording
     186    the actions of the installer, and the <filename>ls-R</filename> files listing
     187    what was originally installed.</para>
     188
     189    <para>At the moment, these instructions do not rebuild
     190    <application>asy</application> and <application>xindy</application> which were
     191    installed by the binary installer.</para> <!-- FIXME -->
     192
     193    <para>  If building from
     194    source is desired, continue as a normal user.  Extract the source package as
     195    usual.  Again, change x86_64-linux to whatever matches your architecture.
     196    The developers do not recommend building in the source directory, so enter
     197    the following commands:</para>
     198
     199<screen><userinput>mkdir texlive-build &amp;&amp;
     200cd texlive-build    &amp;&amp;
     201
     202../configure --prefix=/opt/texlive/2013 \
     203             --bindir=/opt/texlive/2013/bin/x86_64-linux \
     204             --datarootdir=/opt/texlive/2013 \
     205             --includedir=/usr/include \
     206             --infodir=/opt/texlive/2013/texmf-dist/doc/info \
     207             --libdir=/usr/lib \
     208             --mandir=/opt/texlive/2013/texmf-dist/doc/man \
     209             --disable-native-texlive-build \
     210             --disable-static --enable-shared \
     211             --with-system-libgs \
     212             --with-system-poppler \
     213             --with-system-freetype2 \
     214             --with-system-fontconfig \
     215             --with-system-libpng \
     216             --with-system-icu \
     217             --with-system-graphite2 \
     218             --with-system-harfbuzz \
     219             --with-system-xpdf \
     220             --with-system-poppler \
     221             --with-system-cairo \
     222             --with-system-pixman \
     223             --with-system-zlib \
     224             --with-banner-add=" - BLFS" &amp;&amp;
    177225make</userinput></screen>
    178226
    179227    <para>To test the results, issue: <command>make -k check</command>.</para>
    180228
    181     <para>In order to gather the built files in one place, use
    182     <userinput>make install</userinput> to put then in a temproary location:</para>
    183 
    184 <screen><userinput>make DESTDIR=$PWD/texlive-tmp install</userinput></screen>
    185 
    186     <para>Now copy the executables to the <application>TeX Live</application>
    187     binary directory.  Be sure to adjust the destination directory for your
    188     installation.  As the  <systemitem class="username">root</systemitem>
     229    <para>Now, as the <systemitem class="username">root</systemitem>
    189230    user:</para>
    190231
    191 <screen><userinput>find texlive-tmp/usr/bin -type f -exec cp -v {} /opt/texlive/2013/bin/x86_64-linux \;</userinput></screen>
    192 
    193     <note><para>If you passed the option <option>--enable-shared</option> to the
    194     configure command, the two libraries, libkpathsea.so, libptexenc.so and their
    195     symbolic links will also need to be copied to /usr/lib.</para></note>
     232<screen><userinput role="root">make install</userinput></screen>
     233
     234  </sect2>
     235
     236  <sect2 role="commands">
     237    <title>Command Explanations</title>
     238
     239    <para>
     240      <parameter>--prefix=, --bindir=, --datarootdir=, --infodir=, --mandir= ...
     241      </parameter>: these switches ensure that the files installed from source
     242      will overwrite the corresponding files previously installed by
     243      <application>install-tl</application>.
     244    </para>
     245
     246    <para>
     247      <parameter>--includedir=, --libdir= ...</parameter> : these switches ensure
     248      that the libraries will be found at runtime, and that programs can be
     249      compiled against them.
     250    </para>
     251
     252    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     253      href="../../xincludes/static-libraries.xml"/>
     254
     255    <para>
     256      <parameter>--enable-shared</parameter>: Use shared versions of
     257      <filename class="libraryfile">libkpathsea</filename> and
     258      <filename class="libraryfile">libptexenc</filename>.
     259    </para>
     260
     261    <para>
     262      <parameter>--with-system-...</parameter>: Unless this parameter is used,
     263      the included versions of these libraries  will be statically compiled
     264      into the programs which need them.  If you decided not to install a
     265      recommended library, omit the corresponding switches.
     266    </para>
     267
     268    <para>
     269      <parameter>--with-system-xpdf</parameter>: Uniquely, this parameter has
     270      a non-standard meaning, it tells <command>configure</command> to use the
     271      system-installed <application>poppler</application> headers and library.
     272      Again, omit this if you have not installed
     273      <application>poppler</application>.
     274    </para>
     275
     276    <para>
     277      <option>--without-x</option>: use this if you do not have Xorg installed.
     278    </para>
    196279
    197280  </sect2>
Note: See TracChangeset for help on using the changeset viewer.