mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-24 23:32:12 +08:00
Tag Qt4, Qt5, and qtchooser and add additional explanations.
Tag autofs and update it's boot script. git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@11795 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
parent
402f23d37a
commit
fb28b3b086
@ -67,7 +67,7 @@
|
||||
<!ENTITY lfs-vim-version "7.4">
|
||||
<!-- End LFS versions -->
|
||||
|
||||
<!ENTITY blfs-bootscripts-version "20130725">
|
||||
<!ENTITY blfs-bootscripts-version "20130908">
|
||||
<!ENTITY blfs-bootscripts-download "&downloads-root;/blfs-bootscripts-&blfs-bootscripts-version;.tar.bz2">
|
||||
|
||||
<!ENTITY blfs-wiki "http://wiki.&lfs-domainname;/blfs/wiki">
|
||||
|
@ -33,10 +33,11 @@
|
||||
|
||||
<para>
|
||||
The <application>qtchooser</application> package contains a wrapper used to select
|
||||
between <application>Qt</application> binary versions.
|
||||
between <application>Qt</application> binary versions. It is only needed if
|
||||
both Qt4 and Qt5 are installed for access via the /usr/bin directory.
|
||||
</para>
|
||||
|
||||
&lfs73_checked;
|
||||
&lfs74_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
|
@ -39,7 +39,7 @@
|
||||
other removable storage devices without requiring the system
|
||||
administrator to mount the devices.</para>
|
||||
|
||||
&lfs73_checked;
|
||||
&lfs74_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
|
@ -105,8 +105,9 @@
|
||||
<xref linkend="mysql"/>,
|
||||
<xref linkend="postgresql"/>,
|
||||
<xref linkend="pulseaudio"/>,
|
||||
<xref linkend="qtchooser"/> (if also installing Qt5), and
|
||||
<xref linkend="unixodbc"/>
|
||||
<xref linkend="unixodbc"/>, and
|
||||
<xref linkend="qtchooser"/> (runtime, if also installing Qt5 and
|
||||
installing in /usr)
|
||||
</para>
|
||||
|
||||
<para condition="html" role="usernotes">User Notes:
|
||||
@ -118,7 +119,6 @@
|
||||
<title>Installation of Qt</title>
|
||||
|
||||
<para>
|
||||
|
||||
There are several ways to install a complicated package such as
|
||||
<application>Qt</application>. The files are not completely position
|
||||
independent. Installation procedures execute the program
|
||||
@ -149,6 +149,16 @@
|
||||
optional <application>qtchooser</application> application.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The disadvantage of installing in <filename
|
||||
class='directory'>/usr</filename> is that the executable filenames
|
||||
for <application>Qt4</application> and <application>Qt5</application>
|
||||
conflict if both packages are installed in the
|
||||
same directory. The instructions below give a workaround for
|
||||
this problem using the helper program <xref linkend='qtchooser'/>.
|
||||
This requires renaming the Qt executables with a version suffix.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The advantage of installing <application>Qt4</application> in a custom
|
||||
directory such as <filename
|
||||
@ -158,26 +168,27 @@
|
||||
installation and users can easily revert to a previous version by
|
||||
changing one symbolic link or merely changing the PATH variable. It
|
||||
also allows a developer to maintain multiple versions of
|
||||
<application>Qt4</application> for testing.
|
||||
<application>Qt4</application> or <application>Qt5</application>
|
||||
for testing.
|
||||
</para>
|
||||
|
||||
<warning>
|
||||
<caution>
|
||||
<para>
|
||||
If you did not install some of the recommended dependencies, examine
|
||||
<command>./configure --help</command> output to check how to disable
|
||||
them or use internal versions bundled in the source tarball.
|
||||
</para>
|
||||
</warning>
|
||||
</caution>
|
||||
|
||||
<caution>
|
||||
<warning>
|
||||
<para>
|
||||
If <application>Qt</application> is being reinstalled into the
|
||||
If <application>Qt4</application> is being reinstalled into the
|
||||
same directory as an existing instance, run the
|
||||
following commands from a console or non-Qt based window manager.
|
||||
It overwrites <application>Qt</application> libraries that should
|
||||
following commands from a console or non-Qt4 based window manager.
|
||||
It overwrites <application>Qt4</application> libraries that should
|
||||
not be in use during the install process.
|
||||
</para>
|
||||
</caution>
|
||||
</warning>
|
||||
|
||||
<note>
|
||||
<para>
|
||||
@ -191,10 +202,16 @@
|
||||
<bridgehead renderas="sect3">Method 1: Installing in /usr</bridgehead>
|
||||
|
||||
<para>
|
||||
Install <application>Qt</application> by running the
|
||||
Install <application>Qt4</application> by running the
|
||||
following commands:
|
||||
</para>
|
||||
|
||||
<note><para>
|
||||
If <emphasis>not</emphasis> also installing <application>Qt5</application>
|
||||
into the /usr directory, change the entry for -bindir below to /usr/bin.
|
||||
</para></note>
|
||||
|
||||
|
||||
<screen><userinput>sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
|
||||
config.tests/unix/libmng/libmng.cpp &&
|
||||
|
||||
@ -263,7 +280,8 @@ done
|
||||
unset file</userinput></screen>
|
||||
|
||||
<para>
|
||||
Symlink the <application>Qt</application> executables into
|
||||
If also installing Qt5 into /usr,
|
||||
symlink the <application>Qt4</application> executables into
|
||||
<filename class="directory">/usr/bin</filename> by running the
|
||||
following commands as the
|
||||
<systemitem class="username">root</systemitem> user:
|
||||
@ -276,6 +294,16 @@ done</userinput></screen>
|
||||
|
||||
<bridgehead renderas="sect3">Method 2: Installing in /opt/qt-&qt4-version;</bridgehead>
|
||||
|
||||
<para>
|
||||
This section provides an alternate way to install Qt4 by installing
|
||||
almost all of the files in the <filename class="directory">/opt</filename>
|
||||
directory. This allows management of all Qt4 related files in one unit.
|
||||
For instance, a new version of Qt4 can be installed without over-writing
|
||||
the existing installation and entire Qt4 instances can be easily removed.
|
||||
However, it has the disadvantage of needing some extra configuration.
|
||||
</para>
|
||||
|
||||
|
||||
<para>
|
||||
Install <application>Qt</application> in /opt/qt-&qt4-version;
|
||||
by running the following commands:
|
||||
@ -444,7 +472,7 @@ EOF</userinput></screen>
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat >> /etc/ld.so.conf << EOF
|
||||
<literal># Begin Qt addition
|
||||
<literal># Begin Qt addition
|
||||
|
||||
/opt/qt/lib
|
||||
|
||||
@ -453,7 +481,7 @@ EOF
|
||||
|
||||
ldconfig</userinput></screen>
|
||||
|
||||
<indexterm zone="qt4 qtconfig-qt4">
|
||||
<indexterm zone="qt4 qt4-config">
|
||||
<primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
@ -463,7 +491,7 @@ ldconfig</userinput></screen>
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/profile.d/qt.sh << EOF
|
||||
<literal># Begin /etc/profile.d/qt.sh
|
||||
<literal># Begin /etc/profile.d/qt.sh
|
||||
|
||||
QTDIR=/opt/qt
|
||||
|
||||
@ -476,7 +504,7 @@ export QTDIR
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>
|
||||
For all methods, Create the menu entries for installed applications.
|
||||
For all methods, create the menu entries for installed applications.
|
||||
As the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
|
176
x/lib/qt5.xml
176
x/lib/qt5.xml
@ -41,7 +41,7 @@
|
||||
of <application>Qt</application> is <application>KDE</application>.
|
||||
</para>
|
||||
|
||||
&lfs73_checked;
|
||||
&lfs74_checked;
|
||||
|
||||
<bridgehead renderas="sect3">Package Information</bridgehead>
|
||||
<itemizedlist spacing="compact">
|
||||
@ -83,7 +83,6 @@
|
||||
<para role="required">
|
||||
<xref linkend="alsa-lib"/>,
|
||||
<xref linkend="mesalib"/>,
|
||||
<xref linkend="qtchooser"/>,
|
||||
<xref linkend="xcb-util-image"/>,
|
||||
<xref linkend="xcb-util-keysyms"/>,
|
||||
<xref linkend="xcb-util-renderutil"/>, and
|
||||
@ -114,8 +113,10 @@
|
||||
<ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
|
||||
<xref linkend="mysql"/>,
|
||||
<xref linkend="postgresql"/>,
|
||||
<xref linkend="pulseaudio"/>, and
|
||||
<xref linkend="unixodbc"/>
|
||||
<xref linkend="pulseaudio"/>,
|
||||
<xref linkend="unixodbc"/>, and
|
||||
<xref linkend="qtchooser"/> (runtime, if also installing Qt4 and
|
||||
installing in /usr)
|
||||
</para>
|
||||
|
||||
<para condition="html" role="usernotes">User Notes:
|
||||
@ -126,34 +127,104 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Qt</title>
|
||||
|
||||
<warning>
|
||||
<para>
|
||||
There are several ways to install a complicated package such as
|
||||
<application>Qt</application>. The files are not completely position
|
||||
independent. Installation procedures execute the program
|
||||
<command>pkg-config</command> to determine the location of package
|
||||
executables, libraries, headers, and other files. For
|
||||
<application>Qt</application>, <command>pkg-config</command> will look
|
||||
for the appropriate <filename>lib/pkgconfig/Qt*.pc</filename> files
|
||||
which must be modified if relocating the package. These files are set up
|
||||
correctly by the build process.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The default installation places the files in <filename
|
||||
class='directory'>/usr/local/qt/</filename>. Many commercial
|
||||
distributions place the files in the system's <filename
|
||||
class='directory'>/usr</filename> hierarchy. The package can also be
|
||||
installed in an arbitrary directory.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The advantage of installing in <filename
|
||||
class='directory'>/usr</filename> is that no updates to the
|
||||
<filename>/etc/ld.so.conf</filename> or
|
||||
<filename>/etc/man_db.conf</filename> 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>
|
||||
|
||||
<para>
|
||||
The disadvantage of installing in <filename
|
||||
class='directory'>/usr</filename> is that the executable filenames
|
||||
for <application>Qt4</application> and <application>Qt5</application>
|
||||
conflict if both packages are installed in the
|
||||
same directory. The instructions below give a workaround for
|
||||
this problem using the helper program <xref linkend='qtchooser'/>.
|
||||
This requires renaming the Qt executables with a version suffix.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The advantage of installing <application>Qt4</application> in a custom
|
||||
directory such as <filename
|
||||
class='directory'>/opt/qt-&qt4-version;</filename> is that it keeps all
|
||||
the package files consolidated in a dedicated directory hierarchy. By
|
||||
using this method, an update can be made without overwriting a previous
|
||||
installation and users can easily revert to a previous version by
|
||||
changing one symbolic link or merely changing the PATH variable. It
|
||||
also allows a developer to maintain multiple versions of
|
||||
<application>Qt4</application> or <application>Qt5</application>
|
||||
for testing.
|
||||
</para>
|
||||
|
||||
<caution>
|
||||
<para>
|
||||
If you did not install some of the recommended dependencies, examine
|
||||
<command>./configure --help</command> output to check how to disable
|
||||
them or use internal versions bundled in the source tarball.
|
||||
</para>
|
||||
</caution>
|
||||
|
||||
<warning>
|
||||
<para>
|
||||
If <application>Qt5</application> is being reinstalled into the
|
||||
same directory as an existing instance, run the
|
||||
following commands from a console or non-Qt5 based window manager.
|
||||
It overwrites <application>Qt5</application> libraries that should
|
||||
not be in use during the install process.
|
||||
</para>
|
||||
</warning>
|
||||
|
||||
<bridgehead renderas="sect3">Method 1: Installing in /usr</bridgehead>
|
||||
|
||||
<para>
|
||||
Install <application>Qt</application> by running the
|
||||
Install <application>Qt5</application> by running the
|
||||
following commands:
|
||||
</para>
|
||||
|
||||
<note><para>
|
||||
If <emphasis>not</emphasis> also installing <application>Qt4</application>
|
||||
into the /usr directory, change the entry for -bindir below to /usr/bin.
|
||||
</para></note>
|
||||
|
||||
<screen><userinput>sed -i "s:Context\* context}:&\n%lex-param {YYLEX_PARAM}:" \
|
||||
qtwebkit/Source/ThirdParty/ANGLE/src/compiler/glslang.y &&
|
||||
|
||||
sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
|
||||
qtimageformats/config.tests/libmng/libmng.cpp &&
|
||||
|
||||
./configure -prefix /usr \
|
||||
-sysconfdir /etc/xdg \
|
||||
-bindir /usr/lib/qt5/bin \
|
||||
-headerdir /usr/include/qt5 \
|
||||
-archdatadir /usr/lib/qt5 \
|
||||
-datadir /usr/share/qt5 \
|
||||
-docdir /usr/share/doc/qt5 \
|
||||
./configure -prefix /usr \
|
||||
-sysconfdir /etc/xdg \
|
||||
-bindir /usr/lib/qt5/bin \
|
||||
-headerdir /usr/include/qt5 \
|
||||
-archdatadir /usr/lib/qt5 \
|
||||
-datadir /usr/share/qt5 \
|
||||
-docdir /usr/share/doc/qt5 \
|
||||
-translationdir /usr/share/qt5/translations \
|
||||
-examplesdir /usr/share/doc/qt5/examples \
|
||||
-examplesdir /usr/share/doc/qt5/examples \
|
||||
-confirm-license \
|
||||
-opensource \
|
||||
-dbus-linked \
|
||||
@ -203,7 +274,8 @@ find /usr/lib/*.prl -exec sed -i -e \
|
||||
'/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
|
||||
|
||||
<para>
|
||||
Symlink the <application>Qt</application> executables into
|
||||
If also installing Qt4 into /usr,
|
||||
Symlink the <application>Qt5</application> executables into
|
||||
<filename class="directory">/usr/bin</filename> by running the
|
||||
following commands as the
|
||||
<systemitem class="username">root</systemitem> user:
|
||||
@ -214,13 +286,10 @@ do
|
||||
ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5
|
||||
done</userinput></screen>
|
||||
|
||||
</sect2>
|
||||
|
||||
<sect2 role="installation">
|
||||
<title>Alternate Qt Installation Instructions</title>
|
||||
<bridgehead renderas="sect3">Method 2: Installing in /opt/qt-&qt5-version;</bridgehead>
|
||||
|
||||
<para>
|
||||
This section provides an alternate way to install Qt by installing
|
||||
This section provides an alternate way to install Qt4 by installing
|
||||
almost all of the files in the <filename class="directory">/opt</filename>
|
||||
directory. This allows management of all Qt related files in one unit.
|
||||
For instance, a new version of Qt5 can be installed without over-writing
|
||||
@ -371,10 +440,69 @@ EOF</userinput></screen>
|
||||
<title>Configuration Information</title>
|
||||
|
||||
<para>
|
||||
Create the menu entries for installed applications.
|
||||
If you installed <application>Qt</application> in /usr,
|
||||
create an environment variable needed by certain packages.
|
||||
As the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/profile.d/qt.sh << EOF
|
||||
<literal># Begin /etc/profile.d/qt.sh
|
||||
|
||||
QTDIR=/usr
|
||||
|
||||
export QT5DIR
|
||||
|
||||
# End /etc/profile.d/qt.sh</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>
|
||||
If you installed <application>Qt5</application> in a location other
|
||||
than /usr, you need to update the following configuration files so
|
||||
that <application>Qt5</application> is correctly found by other packages
|
||||
and system processes.</para>
|
||||
|
||||
<para>As the <systemitem class="username">root</systemitem> user, update
|
||||
the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
|
||||
run-time cache file:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat >> /etc/ld.so.conf << EOF
|
||||
<literal># Begin Qt addition
|
||||
|
||||
/opt/qt5/lib
|
||||
|
||||
# End Qt addition</literal>
|
||||
EOF
|
||||
|
||||
ldconfig</userinput></screen>
|
||||
|
||||
<indexterm zone="qt5 qt5-config">
|
||||
<primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>
|
||||
As the <systemitem class="username">root</systemitem> user, create
|
||||
the <filename>/etc/profile.d/qt.sh</filename> file:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>cat > /etc/profile.d/qt.sh << EOF
|
||||
<literal># Begin /etc/profile.d/qt.sh
|
||||
|
||||
QT5DIR=/opt/qt5
|
||||
|
||||
pathappend /opt/qt5/bin PATH
|
||||
pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
|
||||
|
||||
export QT5DIR
|
||||
|
||||
# End /etc/profile.d/qt.sh</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>
|
||||
For all methods, create the menu entries for installed applications.
|
||||
As the <systemitem class="username">root</systemitem> user:
|
||||
</para>
|
||||
|
||||
<screen role="root"><userinput>install -dm755 /usr/share/applications
|
||||
cat > /usr/share/applications/assistant-qt5.desktop << "EOF"
|
||||
<literal>[Desktop Entry]
|
||||
@ -445,7 +573,7 @@ EOF</userinput></screen>
|
||||
qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5,
|
||||
qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5,
|
||||
qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5,
|
||||
xmlpatterns-qt5 and xmlpatternsvalidator-qt5
|
||||
xmlpatterns-qt5, and xmlpatternsvalidator-qt5
|
||||
</seg>
|
||||
<seg>
|
||||
libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
|
||||
@ -457,12 +585,12 @@ EOF</userinput></screen>
|
||||
libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so,
|
||||
libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
|
||||
libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so,
|
||||
libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so and libQt5Xml.so
|
||||
libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so, and libQt5Xml.so
|
||||
</seg>
|
||||
<seg>
|
||||
/usr/include/qt5,
|
||||
/usr/lib/qt5,
|
||||
/usr/share/doc/qt5 and
|
||||
/usr/share/doc/qt5, and
|
||||
/usr/share/qt5
|
||||
</seg>
|
||||
</seglistitem>
|
||||
|
Loading…
Reference in New Issue
Block a user