<?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-system-glibc" role="wrap">
  <?dbhtml filename="glibc-64bit.html"?>

  <title>Glibc-&glibc-version; 64-Bit</title>

  <indexterm zone="ch-system-glibc">
    <primary sortas="a-Glibc">Glibc</primary>
  </indexterm>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
  href="glibc.xml"
  xpointer="xpointer(//*[@role='package'])"/>

  <sect2 role="installation">
    <title>Installation of Glibc</title>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='l1'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='l2'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='l3'])"/>

<screen os="l4"><userinput>LINKER=$(readelf -l /tools/bin/bash | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p')
sed -i "s|libs -o|libs -L/usr/lib64 -Wl,-dynamic-linker=${LINKER} -o|" \
  scripts/test-installation.pl
unset LINKER</userinput></screen>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='b'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='s1'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='s2'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='e'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='f'])"/>

    <para os="m1">Tell Glibc to install its 64-bit libraries into
    <filename class="directory">/lib64</filename>:</para>

<screen os="m2"><userinput>echo "slibdir=/lib64" &gt;&gt; configparms</userinput></screen>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='g'])"/>

<screen os="h"><userinput>CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
    ../glibc-&glibc-version;/configure --prefix=/usr \
    --disable-profile --enable-kernel=2.6.32 \
    --libexecdir=/usr/lib64/glibc --libdir=/usr/lib64 \
    --enable-obsolete-rpc</userinput></screen>

    <variablelist os="i">
      <title>The meaning of the new configure option:</title>

      <varlistentry>
        <term><parameter>--libexecdir=/usr/lib64/glibc</parameter></term>
        <listitem>
          <para>This changes the location of the <command>getconf</command>
          utility from its default of <filename
          class="directory">/usr/libexec</filename> to <filename
          class="directory">/usr/lib64/glibc</filename>.</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='j'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='k'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='l'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='m'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='n'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='o'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='p'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='s'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="glibc.xml"
    xpointer="xpointer(//*[@os='t'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='u'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='v'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='w'])"/>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../common/glibc.xml"
    xpointer="xpointer(//*[@os='x'])"/>

  </sect2>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
  href="../common/glibc.xml"
  xpointer="xpointer(id('i18n-glibc'))"/>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
  href="../common/glibc.xml"
  xpointer="xpointer(id('conf-glibc'))"/>

  <sect2 id="conf-ld" role="configuration">
    <title>Configuring The Dynamic Loader</title>

    <indexterm zone="conf-ld">
      <primary sortas="e-/etc/ld.so.conf">/etc/ld.so.conf</primary>
    </indexterm>

    <para os="ld-a">By default, the dynamic loader (<filename
    class="libraryfile">/lib/ld-linux.so.2</filename> for 32bit executables and
    <filename class="libraryfile">/lib64/ld-linux.so.2</filename> for
    64bit executables) searches through
    <filename class="directory">/lib</filename>,
    <filename class="directory">/lib64</filename>,
    <filename class="directory">/usr/lib</filename>,
    and <filename class="directory">/usr/lib64</filename> for dynamic
    libraries that are needed by programs as they are run. However, if
    there are libraries in directories other than these, they need to be
    added to the <filename>/etc/ld.so.conf</filename> file in order
    for the dynamic loader to find them. Some directories that are commonly
    known to contain additional libraries are
    <filename class="directory">/usr/local/lib</filename>,
    <filename class="directory">/usr/local/lib64</filename>,
    <filename class="directory">/opt/lib</filename>,
    and <filename class="directory">/opt/lib64</filename>,
    so add those directories to the dynamic loader's search path.</para>

    <para os="ld-b">Create a new file <filename>/etc/ld.so.conf</filename> by running the
    following:</para>

<screen os="ld-c"><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"
<literal># Begin /etc/ld.so.conf

/usr/local/lib
/usr/local/lib64
/opt/lib
/opt/lib64

# End /etc/ld.so.conf</literal>
EOF</userinput></screen>

  </sect2>

  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
  href="../common/glibc.xml"
  xpointer="xpointer(id('contents-glibc'))"/>

</sect1>
