Update to qt and other minor changes.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3760 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Bruce Dubbs 2005-04-19 06:43:04 +00:00
parent 962d2087ee
commit 14db7ccbf7
5 changed files with 259 additions and 83 deletions

View File

@ -1,4 +1,4 @@
<!ENTITY day "18">
<!ENTITY day "19">
<!ENTITY month "04">
<!ENTITY year "2005">
<!ENTITY version "svn-&year;&month;&day;">
@ -273,7 +273,7 @@
<!ENTITY xfree86-version "4.4.0">
<!-- Chapter 26 -->
<!ENTITY qt-version "3.3.3">
<!ENTITY qt-version "3.3.4">
<!ENTITY GTK-version "1.2.10">
<!ENTITY pango-version "1.8.1">
<!ENTITY atk-version "1.9.1">

View File

@ -22,9 +22,15 @@ who wrote what.</para>
<itemizedlist>
<listitem><para>April 19th, 2005 [bdubbs]: Updated to qt-3.3.4; fixed
some configuration problems with build method 1.</para></listitem>
<listitem><para>April 18th, 2005 [randy]: Updated to shared-mime-info-0.16,
hicolor-icon-theme-0.8 and GnuPG-1.4.1.</para></listitem>
<listitem><para>April 17th, 2005 [randy]: Updated to LessTif-0.94.4; added
an "Other Window Managers" section to Chapter 27".</para></listitem>
<listitem><para>April 17th, 2005 [randy]: Updated to LessTif-0.94.4,
intltool-0.33 and Module-Info-0.27 (Perl module); added an "Other Window
Managers" section to Chapter 27".</para></listitem>

View File

@ -59,17 +59,17 @@ basic networking programs and utilities.</para>
<para>Once you have dealt with these basics, you may wish to configure
more advanced network services. These are dealt with in the <xref
linkend="server"/> part of the book.
Those wanting to build servers should find enough information to give
them a good starting point here. Note that <xref linkend="server"/> also
Those wanting to build servers should find
a good starting point there. Note that <xref linkend="server"/> also
contains information on various database packages.</para>
<para>The next parts of the book principally deal with desktop systems.
We start with a part talking about <xref linkend="x"/>. This part also
deals with some generic X-based libraries (<xref linkend="x-lib"/>). After
this, <xref linkend="kde"/> and <xref linkend="gnome"/> are given their
<para>The next parts of the book principally deal with desktop systems. This
portion of the book starts with a part talking about <xref linkend="x"/>. This
part also deals with some generic X-based libraries (<xref linkend="x-lib"/>).
After this, <xref linkend="kde"/> and <xref linkend="gnome"/> are given their
own parts which are followed by one on <xref linkend="xsoft"/>.</para>
<para>We then move on to deal with <xref linkend="multimedia"/> packages.
<para>The book then moves on to deal with <xref linkend="multimedia"/> packages.
Note that many people may want to use the <xref linkend="alsa"/>
instructions from this chapter quite near the start of their <acronym>BLFS
</acronym> journey; they are placed here simply because it is the most logical

View File

@ -13,9 +13,10 @@
<sect1 id="libmikmod" xreflabel="libmikmod-&libmikmod-version;">
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<?dbhtml filename="libmikmod.html"?>
<title>libmikmod-&libmikmod-version;</title>
@ -29,27 +30,28 @@ formats include <acronym>MOD</acronym>, <acronym>S3M</acronym>,
<acronym>XM</acronym>, <acronym>IT</acronym>, <acronym>MED</acronym>,
<acronym>MTM</acronym> and <acronym>669</acronym>.</para>
<sect3><title>Package information</title>
<itemizedlist spacing='compact'>
<listitem><para>Download (HTTP):
<ulink url="&libmikmod-download-http;"/></para></listitem>
<listitem><para>Download (FTP):
<ulink url="&libmikmod-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 sum: &libmikmod-md5sum;</para></listitem>
<listitem><para>Download size: &libmikmod-size;</para></listitem>
<listitem><para>Estimated disk space required:
&libmikmod-buildsize;</para></listitem>
<listitem><para>Estimated build time:
&libmikmod-time;</para></listitem></itemizedlist>
<sect3>
<title>Package information</title>
<itemizedlist spacing='compact'>
<listitem><para>Download (HTTP): <ulink url="&libmikmod-download-http;"/></para></listitem>
<listitem><para>Download (FTP): <ulink url="&libmikmod-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 sum: &libmikmod-md5sum;</para></listitem>
<listitem><para>Download size: &libmikmod-size;</para></listitem>
<listitem><para>Estimated disk space required: &libmikmod-buildsize;</para></listitem>
<listitem><para>Estimated build time: &libmikmod-time;</para></listitem>
</itemizedlist>
</sect3>
<sect3><title><application>libmikmod</application> dependencies</title>
<sect4><title>Optional</title>
<sect3>
<title><application>libmikmod</application> dependencies</title>
<sect4>
<title>Optional</title>
<para><xref linkend="alsa"/>,
<xref linkend="esound"/>,
<ulink url="http://www.perex.cz/~perex/ultra/">libGUS</ulink>,
<ulink url="http://osalp.sourceforge.net/">AFlib</ulink> and
<ulink url="http://www.anime.net/~sam9407/">SAM9407 driver</ulink></para>
<xref linkend="esound"/>,
<ulink url="http://www.perex.cz/~perex/ultra/">libGUS</ulink>,
<ulink url="http://osalp.sourceforge.net/">AFlib</ulink> and
<ulink url="http://www.anime.net/~sam9407/">SAM9407 driver</ulink></para>
</sect4>
</sect3>
@ -65,6 +67,7 @@ following commands:</para>
-e "s/sys_asoundlib/alsa_asoundlib/" \
-e "s/snd_cards/snd_card_load/g" \
-e "s|sys/asoundlib.h|alsa/asoundlib.h|g" \
-e "s/^LIBOBJS/#LIBOBJS/" \
configure.in &amp;&amp;
autoconf &amp;&amp;
./configure --prefix=/usr &amp;&amp;
@ -80,7 +83,8 @@ chmod 755 /usr/lib/libmikmod.so.2.0.4</command></userinput></screen>
<para><command>sed -i -e ...</command>: This increments the package micro
version and also modifies the <application>ALSA</application> header search
routine so that the package properly discovers the
<application>ALSA</application> library.</para>
<application>ALSA</application> library. It also fixes a problem
which makes <application>autoconf</application> fail.</para>
<para><command>autoconf</command>: This generates a new
<command>configure</command> script, required because of the changes to

View File

@ -6,20 +6,25 @@
<!ENTITY qt-download-http "http://sunsite.rediris.es/mirror/Qt/source/qt-x11-free-&qt-version;.tar.bz2">
<!ENTITY qt-download-ftp "ftp://ftp.trolltech.com/qt/source/qt-x11-free-&qt-version;.tar.bz2">
<!ENTITY qt-md5sum "3e0a0c8429b0a974b39b5f535ddff01c">
<!ENTITY qt-size "14.4 MB">
<!ENTITY qt-md5sum "027f4e82fbe592b39d2f160bfb3a73af">
<!ENTITY qt-size "13.8 MB">
<!ENTITY qt-buildsize "250 MB">
<!ENTITY qt-time "19.3 SBU (full), 13.4 SBU (sub-tools)">
<!ENTITY qt-time "15.5 SBU (full), 10.9 SBU (sub-tools)">
]>
<sect1 id="qt" xreflabel="Qt-&qt-version;">
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<?dbhtml filename="qt.html" ?>
<title>Qt-&qt-version;</title>
<indexterm zone="qt">
<primary sortas="a-qt">Qt</primary>
</indexterm>
<sect2>
<title>Introduction to <application>Qt</application></title>
@ -32,24 +37,29 @@ major users of <application>Qt</application> is <application>KDE</application>.
<sect3><title>Package information</title>
<itemizedlist spacing='compact'>
<listitem><para>Download (HTTP): <ulink url="&qt-download-http;"/></para></listitem>
<listitem><para>Download (FTP): <ulink url="&qt-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 Sum: &qt-md5sum;</para></listitem>
<listitem><para>Download size: &qt-size;</para></listitem>
<listitem><para>Estimated disk space required: &qt-buildsize;</para></listitem>
<listitem><para>Estimated build time: &qt-time;</para></listitem></itemizedlist>
<listitem><para>Download (HTTP): <ulink url="&qt-download-http;"/></para></listitem>
<listitem><para>Download (FTP): <ulink url="&qt-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 Sum: &qt-md5sum;</para></listitem>
<listitem><para>Download size: &qt-size;</para></listitem>
<listitem><para>Estimated disk space required: &qt-buildsize;</para></listitem>
<listitem><para>Estimated build time: &qt-time;</para></listitem></itemizedlist>
</sect3>
<sect3><title><application>Qt</application> dependencies</title>
<sect4><title>Required</title>
<sect3>
<title><application>Qt</application> dependencies</title>
<sect4>
<title>Required</title>
<para><xref linkend="x-installing"/></para>
</sect4>
<sect4><title>Recommended</title>
<sect4>
<title>Recommended</title>
<para><xref linkend="libjpeg"/> and <xref linkend="libmng"/></para>
</sect4>
<sect4><title>Optional</title>
<sect4>
<title>Optional</title>
<para><xref linkend="nas"/>, <xref linkend="cups"/>, <xref linkend="mysql"/>,
<xref linkend="postgresql"/>, <ulink url="http://sqlite.org/">SQLite</ulink>,
<ulink url="http://firebird.sourceforge.net/">Firebird</ulink>
@ -96,7 +106,10 @@ files are required. The package files are distributed within several
subdirectories of the <filename class='directory'>/usr</filename> hierarchy.
This is the method that most commercial distributions use.</para>
<screen><userinput><command>sed -i "s:cp -f:install:" mkspecs/linux-g++/qmake.conf &amp;&amp;
<screen><userinput><command>sed -i -e 's:cp -f:install:
-e 's:$(QTDIR)/include:&amp;/qt:' \
-e 's:$(QTDIR)/lib:&amp;/qt:' \
mkspecs/linux*/qmake.conf &amp;&amp;
bash
export PATH=$PWD/bin:$PATH &amp;&amp;
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &amp;&amp;
@ -107,14 +120,19 @@ export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH &amp;&amp;
-no-exceptions -thread -plugin-imgfmt-png \
-system-libjpeg -system-libpng &amp;&amp;
find -type f -name Makefile | xargs sed -i "s@-Wl,-rpath,/usr/lib@@g" &amp;&amp;
make &amp;&amp;
make install &amp;&amp;
make &amp;&amp;</command></userinput></screen>
<para>Now, as the root user:</para>
<screen><userinput role='root'><command>make install &amp;&amp;
ln -sf libqt-mt.so /usr/lib/libqt.so &amp;&amp;
rm /usr/bin/qmake &amp;&amp;
install -m755 -oroot -groot qmake/qmake /usr/bin &amp;&amp;
cp -r doc/man /usr/share &amp;&amp;
cp -r examples /usr/share/doc/qt &amp;&amp;
exit</command></userinput></screen>
cp -r examples /usr/share/doc/qt &amp;&amp;</command></userinput></screen>
<para>And finally back as regular user:</para>
<screen><userinput><command>exit</command></userinput></screen>
</sect3>
@ -139,15 +157,20 @@ export PATH=$PWD/bin:$PATH &amp;&amp;
./configure -prefix /opt/qt-&qt-version; -qt-gif -system-libpng \
-system-libmng -system-zlib -system-libjpeg -no-exceptions \
-thread -plugin-imgfmt-png &amp;&amp;
make &amp;&amp;
make install &amp;&amp;
make</command></userinput></screen>
<para>Now, as the root user:</para>
<screen><userinput role='root'><command>make install &amp;&amp;
ln -sfn qt-&qt-version; /opt/qt &amp;&amp;
ln -s libqt-mt.so /opt/qt/lib/libqt.so &amp;&amp;
rm /opt/qt-&qt-version;/bin/qmake &amp;&amp;
install -m755 -oroot -groot qmake/qmake /opt/qt-&qt-version;/bin &amp;&amp;
cp -r doc/man /opt/qt/doc &amp;&amp;
cp -r examples /opt/qt/doc
exit</command></userinput></screen>
cp -r examples /opt/qt/doc</command></userinput></screen>
<para>And finally back as regular user:</para>
<screen><userinput><command>exit</command></userinput></screen>
<note><para>If you pass the
<option>-plugin-sql-<replaceable>[driver]</replaceable></option> switch to the
@ -161,9 +184,13 @@ exit</command></userinput></screen>
<sect2>
<title>Command explanations</title>
<para><command>sed -i "s:cp -f:install:" mkspecs/linux-g++/qmake.conf</command>:
<para><command>sed -i -e 's:cp -f:install:
-e 's:$(QTDIR)/include:&amp;/qt:'
-e 's:$(QTDIR)/lib:&amp;/qt:'
mkspecs/linux*/qmake.conf</command>:
<command>install</command> is safer than <command>cp</command> when
libraries are in use.</para>
libraries are in use. Also, directories need to be adjusted to match
the BLFS Method 1 installation directories.</para>
<para><command>bash</command>: This command enters a sub-shell to isolate
environment changes.</para>
@ -226,10 +253,26 @@ and eliminates environment variables set earlier.</para>
<sect2>
<title>Configuring <application>Qt</application></title>
<sect3><title>Configuration Information</title>
<para>If you installed <application>Qt</application> using Method 2, you need
to update some configuration files so that <application>Qt</application> is
correctly found by other packages and system processes.</para>
<sect3 id='qt-config'>
<title>Configuration Information</title>
<para>The <envar>QTDIR</envar> environment variable needs to be set when
building packages that depend on <application>Qt</application>. Add the
following to the <filename>.bash_profile</filename> initialization script for
each user that builds packages using the <application>Qt</application>
libraries. Alternatively, the variable can be set in the system wide
<filename>/etc/profile</filename> file.</para>
<para>For Method 1:</para>
<screen><userinput>export QTDIR=/usr</userinput></screen>
<para>or for Method 2:</para>
<screen><userinput>export QTDIR=/opt/qt</userinput></screen>
<para>If you installed <application>Qt</application> using Method 2, you also
need to update the following configuration files so that
<application>Qt</application> is correctly found by other packages and system
processes.</para>
<para>Update the <filename>/etc/ld.so.conf</filename> and
<filename>/etc/man.conf</filename> files:</para>
@ -251,21 +294,29 @@ MANPATH /opt/qt/doc/man
# End qt addition to man.conf
EOF</command></userinput></screen>
<indexterm zone="qt qt-config">
<primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
</indexterm>
<indexterm zone="qt qt-config">
<primary sortas="e-etc-man.conf">/etc/man.conf</primary>
</indexterm>
<indexterm zone="qt qt-config">
<primary sortas="e-etc-profile">/etc/profile</primary>
</indexterm>
<indexterm zone="qt qt-config">
<primary sortas="e-AA.bash_profile">~/.bash_profile</primary>
</indexterm>
<para>Update the <envar>PKG_CONFIG_PATH</envar> environment variable in your
<filename>~/.bash_profile</filename> or <filename>/etc/profile</filename> with
the following:</para>
<screen><userinput>PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig</userinput></screen>
<para>The <envar>QTDIR</envar> environment variable needs to be set when
building packages that depend on <application>Qt</application>. Add the
following to the <filename>.bash_profile</filename> initialization script for
each user that builds packages using the <application>Qt</application>
libraries. Alternatively, the variable can be set in the system wide
<filename>/etc/profile</filename> file.</para>
<screen><userinput>export QTDIR=/opt/qt</userinput></screen>
<para>If you want the <application>Qt</application> executables in your shell
search path, update the <envar>PATH</envar> environment variable in your
<filename>~/.bash_profile</filename> or <filename>/etc/profile</filename> to
@ -284,23 +335,138 @@ shared libraries.</para>
<title>Contents</title>
<para>The <application>Qt</application>/<application>X11</application>
library contains <acronym>API</acronym>s necessary to use
library contains <acronym>API</acronym>s necessary to build and use
programs based on the <application>Qt</application> <acronym>GUI</acronym>
toolkit.</para>
<para>The <application>Qt</application> package contains
<command>assistant</command>,
<command>designer</command>,
<command>linguist</command>,
<command>lrelease</command>,
<command>lupdate</command>,
<command>moc</command>,
<command>qm2ts</command>,
<command>qmake</command>,
<command>qtconfig</command>,
<command>uic</command>, and the
<filename class="libraryfile">libqt-mt</filename> and
<filename class="libraryfile">libqui</filename> libraries.</para>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>assistant, designer, linguist, lrelease, lupdate, moc,
qm2ts, qmake, qtconfig, and uic</seg>
<seg>libqt-mt.so, libqt.so libqui.so, libdesignercore.a,
libeditor.a, and libqassistantclient.a</seg>
<seg>/opt/qt-&qt-version; or /usr/lib/qt, /usr/share/qt,
/usr/share/doc/qt, /usr/include/qt, and /etc/qt</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<varlistentry id="assistant">
<term><command>assistant</command></term>
<listitem>
<para>is a tool for presenting on-line documentation.</para>
<indexterm zone="qt assistant">
<primary sortas="b-assistant">assistant</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="designer">
<term><command>designer</command></term>
<listitem>
<para>is a full-fledged GUI builder. It includes
powerful features such as preview mode, automatic widget
layout, support for custom widgets, and an advanced
property editor.</para>
<indexterm zone="qt designer">
<primary sortas="b-designer">designer</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="linguist">
<term><command>linguist</command></term>
<listitem>
<para>provides support for translating applications into
local languages. </para>
<indexterm zone="qt linguist">
<primary sortas="b-linguist">linguist</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lrelease">
<term><command>lrelease</command></term>
<listitem>
<para>is a simple command line tool. It reads a Qt project
file and produces message files used by the application.</para>
<indexterm zone="qt lrelease">
<primary sortas="b-lrelease">lrelease</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lupdate">
<term><command>lupdate</command></term>
<listitem>
<para>reads a Qt project file, finds the translatable
strings in the specified source, header and Qt Designer
interface files, and produces or updates the translation
files listed in the project file.</para>
<indexterm zone="qt lupdate">
<primary sortas="b-lupdate">lupdate</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="moc">
<term><command>moc</command></term>
<listitem>
<para>generates Qt meta object support code.</para>
<indexterm zone="qt moc">
<primary sortas="b-moc">moc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="qm2ts">
<term><command>qm2ts</command></term>
<listitem>
<para>is a tool for converting Qt message file formats.</para>
<indexterm zone="qt qm2ts">
<primary sortas="b-qm2ts">qm2ts</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="qmake">
<term><command>qmake</command></term>
<listitem>
<para>qmake uses information stored in project files to
determine what should go in the makefiles it generates.</para>
<indexterm zone="qt qmake">
<primary sortas="b-qmake">qmake</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="qtconfig">
<term><command>qtconfig</command></term>
<listitem>
<para>is used to customize the appearance of Qt applications.</para>
<indexterm zone="qt qtconfig">
<primary sortas="b-qtconfig">qtconfig</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="uic">
<term><command>uic</command></term>
<listitem>
<para>is a Qt user interface compiler.</para>
<indexterm zone="qt uic">
<primary sortas="b-uic">uic</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>