lfs/chapter05/libxcrypt.xml
2023-08-02 12:42:33 +02:00

176 lines
5.4 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-libxcrypt" role="wrap">
<?dbhtml filename="libxcrypt.html"?>
<sect1info condition="script">
<productname>libxcrypt</productname>
<productnumber>&libxcrypt-version;</productnumber>
<address>&libxcrypt-url;</address>
</sect1info>
<title>Libxcrypt-&libxcrypt-version;</title>
<indexterm zone="ch-tools-libxcrypt">
<primary sortas="a-Libxcrypt">Libxcrypt</primary>
</indexterm>
<sect2 role="package">
<title/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../chapter08/libxcrypt.xml"
xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&libxcrypt-fin-sbu;</seg>
<seg>&libxcrypt-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Libxcrypt</title>
<para>Prepare Libxcrypt for compilation:</para>
<screen><userinput remap="configure">./configure --target=$LFS_TGT \
--prefix=/usr \
--enable-hashes=strong,glibc \
--enable-obsolete-api=no \
--disable-static \
--disable-failure-tokens</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title>
<varlistentry>
<term><parameter>--enable-hashes=strong,glibc</parameter></term>
<listitem>
<para>Build strong hash algorithms recommended for security use
cases, and the hash algorithms provided by traditional Glibc
<systemitem class='library'>libcrypt</systemitem> for
compatibility.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--enable-obsolete-api=no</parameter></term>
<listitem>
<para>Disable obsolete API functions. They are not needed for
a modern Linux system built from source.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>--disable-failure-tokens</parameter></term>
<listitem>
<para>Disable failure token feature. It's needed for
compatibility with the traditional hash libraries of some
platforms, but a Linux system based on Glibc does not need
it.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
</sect2>
<!-- - - - - - - - - - -->
<!-- Multilib - 32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_32,ml_all" role="installation">
<title>Installation of Libxcrypt - 32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -m32" \
./configure --target=$LFS_TGT32 \
--prefix=/usr \
--host=i686-pc-linux-gnu \
--libdir=/usr/lib32 \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/lib32/ &amp;&amp;
make DESTDIR=$LFS install-pkgconfigDATA &amp;&amp;
ln -svf libxcrypt.pc $LFS/usr/lib32/pkgconfig/libcrypt.pc</userinput></screen>
</sect2><!-- m32 -->
<!-- - - - - - - - - - -->
<!-- Multilib - x32bit -->
<!-- - - - - - - - - - -->
<sect2 arch="ml_x32,ml_all" role="installation">
<title>Installation of Libxcrypt - x32bit</title>
<para>Clean previous build:</para>
<screen><userinput remap="pre">make distclean</userinput></screen>
<para>Prepare File for compilation:</para>
<screen><userinput remap="configure">CC="gcc -mx32" \
./configure --target=$LFS_TGT32 \
--prefix=/usr \
--host=x86_64-pc-linux-gnux32 \
--libdir=/usr/libx32 \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-static \
--disable-failure-tokens</userinput></screen>
<para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">cp -av .libs/libcrypt.so* $LFS/usr/libx32/ &amp;&amp;
make DESTDIR=$LFS install-pkgconfigDATA &amp;&amp;
ln -svf libxcrypt.pc $LFS/usr/libx32/pkgconfig/libcrypt.pc</userinput></screen>
</sect2><!-- mx32 -->
<sect2 role="content">
<title/>
<para>Details on this package are located in
<xref linkend="contents-libxcrypt" role="."/></para>
</sect2>
</sect1>