<?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;

  <!ENTITY lesstif-download-http "&sourceforge-repo;/lesstif/lesstif-&lesstif-version;.tar.bz2">
  <!ENTITY lesstif-download-ftp  " ">
  <!ENTITY lesstif-md5sum        "754187dbac09fcf5d18296437e72a32f">
  <!ENTITY lesstif-size          "2.4 MB">
  <!ENTITY lesstif-buildsize     "160 MB (includes building and running the test suite)">
  <!ENTITY lesstif-time          "4.1 SBU (includes building the test suite)">
]>

<sect1 id="lesstif" xreflabel="LessTif-&lesstif-version;">
  <?dbhtml filename="lesstif.html" ?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2012-05-12 18:04:54 -0400 (Sat, 12 May 2012) $</date>
  </sect1info>

  <title>LessTif-&lesstif-version;</title>

  <indexterm zone="lesstif">
    <primary sortas="a-LessTif">LessTif</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to LessTif</title>

    <para>The <application>LessTif</application> package contains an Open
    Source version of <application>OSF/Motif®</application>.</para>

    &lfs65_checked;

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&lesstif-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&lesstif-download-ftp;"/></para>
      </listitem>
      <listitem>
        <para>Download MD5 sum: &lesstif-md5sum;</para>
      </listitem>
      <listitem>
        <para>Download size: &lesstif-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &lesstif-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &lesstif-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    <itemizedlist spacing='compact'>
      <listitem>
        <para>Required patch: <ulink
        url="&patch-root;/lesstif-&lesstif-version;-testsuite_fix-1.patch"/></para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">LessTif Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required"><xref linkend="xorg7-lib"/></para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional"><xref linkend="lynx"/> or <xref linkend="Links"/>
    (used to generate the <filename>INSTALL</filename> documentation file) and
    <ulink url="http://dmalloc.com">Dmalloc</ulink></para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/lesstif"/></para>

  </sect2>

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

    <para>First, rename a man page file that conflicts with
    <application>perl</application>:</para>

    <screen><userinput>pushd doc/lessdox/widgets                      &amp;&amp;
sed -i -e 's/\tShell.3/\tshell.3/' Makefile.in &amp;&amp;
mv Shell.3 shell.3                             &amp;&amp;
popd</userinput></screen>

    <para>Install <application>LessTif</application> by running the following
    commands:</para>

<screen><userinput>patch -Np1 -i ../lesstif-&lesstif-version;-testsuite_fix-1.patch &amp;&amp;
./configure --prefix=/usr \
            --sysconfdir=/etc/X11 \
            --disable-debug \
            --enable-production \
            --with-xdnd \
            --x-includes=$XORG_PREFIX/include \
            --x-libraries=$XORG_PREFIX/lib &amp;&amp;
sed -i "s@libdir)/X11/mwm@sysconfdir)/mwm@" clients/Motif-2.1/mwm/Makefile &amp;&amp;
make rootdir=/usr/share/doc/lesstif-&lesstif-version;</userinput></screen>

    <para>This package requires that it is installed before the test suite is
    run. The commands to run the tests are located a bit later in the
    instructions.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>

<screen role="root"><userinput>make rootdir=/usr/share/doc/lesstif-&lesstif-version; install &amp;&amp;
ldconfig</userinput></screen>

    <para>Applicatons that utilize Xorg libraries often, and incorrectly,
    expect to find configuration files in
    <filename class="directory">$XORG_PREFIX/lib/X11</filename>.  While still
    the <systemitem class="username">root</systemitem> user, create a
    compatibility symlink with the following command:</para>

<screen role="root"><userinput>ln -v -sf /etc/X11/mwm $XORG_PREFIX/lib/X11</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para><parameter>--disable-debug</parameter>: Do not generate debugging
    information.</para>

    <para><parameter>--enable-production</parameter>: Build the release version
    of the <application>LessTif</application> libraries.</para>

    <para><parameter>--with-xdnd</parameter>: Enable XDND GNOME compatibility
    support.</para>

    <para><parameter>rootdir=/usr/share/doc/lesstif-&lesstif-version;</parameter>:
    This installs the documentation into an appropriate directory instead of the
    non-FHS compliant <filename class="directory">/usr/LessTif</filename>
    directory.</para>

    <para><parameter>--x-includes</parameter> and
    <parameter>--x-libraries</parameter>: tells the build system where to find
    the Xorg headers and libraries.</para>

    <para><command>sed -i "s@libdir)/X11/mwm@sysconfdir)/mwm@"
    clients/Motif-2.1/mwm/Makefile</command>: This corrects the installation
    prefix for the mwm directory for FHS compliance.</para>

  </sect2>

  <sect2 role="testing">
    <title>Testing LessTif</title>

    <para>It is advisable to test the installation of
    <application>LessTif</application> using the included test suite. It is
    not required to install any of the resulting binaries to validate the
    installation. Issue the following commands to build the test suite:</para>

<screen><userinput>cd test &amp;&amp;
./configure &amp;&amp;
make</userinput></screen>

    <para>To run the tests, issue the following commands:</para>

<screen><userinput>cd Xm &amp;&amp;
./testall *</userinput></screen>

    <para>You may need to manually close four of the test windows. The first
    one is from <command>test28</command> in the
    <filename class='directory'>list</filename> directory. The second one is
    from <command>test10</command> in the
    <filename class='directory'>menushell</filename> directory. You should
    click on the button in the window and choose <quote>exit</quote> (do it
    twice) to finish the test. The third test is from <command>test20</command>
    in the <filename class='directory'>PushButton</filename> and the last one
    is from <command>test24</command> in the
    <filename class='directory'>scrolledwindow</filename> directory.</para>

    <!-- Last test run: 86 failed out of 605. -->

    <para>As many as 101 tests are known to fail. The patch applied at the
    beginning of the installation created a file used to compare known failures
    to the failures from the test run. This file was created from an
    installation using the current LFS book and should be a fairly accurate
    representation of the failures you'll encounter. You could see some minor
    variances, however.</para>

  </sect2>

  <sect2 role="configuration">
    <title>Configuring LessTif</title>

    <sect3 id="lesstif-config">
      <title>Config Files</title>

      <para><filename>/etc/X11/mwm/system.mwmrc</filename> and
      <filename>~/.mwmrc</filename></para>

      <indexterm zone="lesstif lesstif-config">
        <primary sortas="e-AA.mwmrc">~/.mwmrc</primary>
      </indexterm>

      <indexterm zone="lesstif lesstif-config">
        <primary
        sortas="e-etc-X11-mwm-system.mwmrc">/etc/X11/mwm/system.mwmrc</primary>
      </indexterm>

    </sect3>

    <sect3>
      <title>Configuration Information</title>

      <para>The config files are used to customize the behavior of the
      <command>mwm</command> window manager. Information about customizing
      these files can be found in the <filename>mwmrc(5)</filename> man
      page.</para>

    </sect3>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Libraries</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>motif-config, mwm, mxmkmf, uil, and xmbind</seg>
        <seg>libDtPrints.so, libMrm.so, libUil.so, and libXm.so</seg>
        <seg>/etc/X11/mwm, /usr/include/Xm, /usr/include/Mrm,
        /usr/include/uil, /usr/include/Dt, /usr/lib/LessTif, and
        /usr/share/doc/lesstif-&lesstif-version;</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="motif-config">
        <term><command>motif-config</command></term>
        <listitem>
          <para>is used to find out configuration information for packages
          needing to link to the <application>LessTif</application>
          libraries.</para>
          <indexterm zone="lesstif motif-config">
            <primary sortas="b-motif-config">motif-config</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mwm">
        <term><command>mwm</command></term>
        <listitem>
          <para>is a window manager that adheres largely to the
          <application>Motif</application> <command>mwm</command>
          specification.</para>
          <indexterm zone="lesstif mwm">
            <primary sortas="b-mwm">mwm</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="mxmkmf">
        <term><command>mxmkmf</command></term>
        <listitem>
          <para>is the <application>LessTif</application> version of
          <command>xmkmf</command> which creates a
          <filename>Makefile</filename> from an
          <filename>Imakefile</filename>.</para>
          <indexterm zone="lesstif mxmkmf">
            <primary sortas="b-mxmkmf">mxmkmf</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="uil">
        <term><command>uil</command></term>
        <listitem>
          <para>is a user interface language compiler which translates a
          plain text description of the user interface of a
          <application>Motif</application> application into a
          machine-readable form.</para>
          <indexterm zone="lesstif uil">
            <primary sortas="b-uil">uil</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="xmbind">
        <term><command>xmbind</command></term>
        <listitem>
          <para> configures the virtual key bindings of
          <application>LessTif</application> applications.</para>
          <indexterm zone="lesstif xmbind">
            <primary sortas="b-xmbind">xmbind</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libXm">
        <term><filename class='libraryfile'>libXm.so</filename></term>
        <listitem>
          <para>is an <application>OSF/Motif®</application> source code
          compatible library for the <application>X Window
          System</application>. You can download an excellent reference
          guide (mainly for programmers) for the Motif-2.1 specification
          from <ulink
          url="http://unc.dl.sourceforge.net/lesstif/6B_book.pdf"/>.</para>
          <indexterm zone="lesstif libXm">
            <primary sortas="c-libXm">libXm.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
