source: x/lib/qt.xml@ 99d8124d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 99d8124d was d99d728, checked in by Ragnar Thomsen <rthomsen@…>, 12 years ago

Change Qt4 to just Qt in xml filename and references.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10436 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 17.9 KB
RevLine 
[a8e9d06]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[d99d728]7 <!ENTITY qt-download-http "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-&qt-version;.tar.gz">
8 <!ENTITY qt-download-ftp " ">
9 <!ENTITY qt-md5sum "3c1146ddf56247e16782f96910a8423b">
10 <!ENTITY qt-size "228 MB">
11 <!ENTITY qt-buildsize "1.8 GB (full), 619 (essential)">
12 <!ENTITY qt-time "69 SBU (full), 54 SBU (essential)">
[a8e9d06]13]>
14
[d99d728]15<sect1 id="qt" xreflabel="Qt-&qt-version;">
16 <?dbhtml filename="qt.html" ?>
[a8e9d06]17
18 <sect1info>
[61d5269]19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
[a8e9d06]21 </sect1info>
22
[d99d728]23 <title>Qt-&qt-version;</title>
[a8e9d06]24
[d99d728]25 <indexterm zone="qt">
26 <primary sortas="a-qt">Qt</primary>
[a8e9d06]27 </indexterm>
28
29 <sect2 role="package">
[ad41452]30 <title>Introduction to Qt</title>
[a8e9d06]31
[14c0f145]32 <para><application>Qt</application> is a cross-platform application
33 framework that is widely used for developing application software
34 with a graphical user interface (GUI) (in which cases Qt is classified
35 as a widget toolkit), and also used for developing non-GUI programs such
36 as command-line tools and consoles for servers. One of the major users
[ad41452]37 of <application>Qt</application> is <application>KDE</application>.</para>
[a8e9d06]38
[14c0f145]39 &lfs71_checked;
40
[a8e9d06]41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
[d99d728]44 <para>Download (HTTP): <ulink url="&qt-download-http;"/></para>
[a8e9d06]45 </listitem>
46 <listitem>
[d99d728]47 <para>Download (FTP): <ulink url="&qt-download-ftp;"/></para>
[a8e9d06]48 </listitem>
49 <listitem>
[d99d728]50 <para>Download MD5 sum: &qt-md5sum;</para>
[a8e9d06]51 </listitem>
52 <listitem>
[d99d728]53 <para>Download size: &qt-size;</para>
[a8e9d06]54 </listitem>
55 <listitem>
[d99d728]56 <para>Estimated disk space required: &qt-buildsize;</para>
[a8e9d06]57 </listitem>
58 <listitem>
[d99d728]59 <para>Estimated build time: &qt-time;</para>
[a8e9d06]60 </listitem>
61 </itemizedlist>
62
[14c0f145]63
64 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>GLib 2.32 patch: <ulink
[d99d728]68 url="&patch-root;/qt-everywhere-opensource-src-&qt-version;-glib_fix-1.patch"/>
[14c0f145]69 </para>
70 </listitem>
71 </itemizedlist>
72
73
[a8e9d06]74 <bridgehead renderas="sect3">Qt Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Required</bridgehead>
77 <para role="required"><xref linkend="x-window-system"/></para>
78
79 <bridgehead renderas="sect4">Recommended</bridgehead>
[e40b79b6]80 <para role="recommended">
81 <xref linkend="dbus"/>,
82 <xref linkend="libjpeg"/>,
[a8e9d06]83 <xref linkend="libmng"/>,
[b495000]84 <xref linkend="libtiff"/>,
[e40b79b6]85 <xref linkend="libpng"/> and
86 <xref linkend="pkgconfig"/> (needed to use D-Bus, GLib, GTK and PulseAudio)
[a8e9d06]87 </para>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
[6122386]90 <para role="optional">
[e2e42c7]91 <!--<xref linkend="nas"/>,-->
[1b665fb]92 <xref linkend="gst-plugins-base"/>,
[e2e42c7]93 <xref linkend='pulseaudio'/>,
[f7e3016]94 <xref linkend='glib2'/>,
[ea0d62a]95 <xref linkend="gtk2"/>,
[a8e9d06]96 <xref linkend="openssl"/>,
97 <xref linkend="cups"/>,
98 <xref linkend="mysql"/>,
99 <xref linkend="postgresql"/>,
[14c0f145]100 <xref linkend="unixodbc"/> and
[8f9c757e]101 <xref linkend="sqlite"/>
[a8e9d06]102 </para>
103
104 <para condition="html" role="usernotes">User Notes:
[d99d728]105 <ulink url="&blfs-wiki;/qt"/></para>
[a8e9d06]106
107 </sect2>
108
109 <sect2 role="installation">
[ad41452]110 <title>Installation of Qt</title>
[a8e9d06]111
112 <para>There are several ways to install a complicated package such as
[ad41452]113 <application>Qt</application>. The files are not completely position
[a8e9d06]114 independent. Installation procedures execute the program
115 <command>pkg-config</command> to determine the location of package
116 executables, libraries, headers, and other files. For
[ad41452]117 <application>Qt</application>, <command>pkg-config</command> will look
[61d5269]118 for the appropriate <filename>lib/pkgconfig/Qt*.pc</filename> files which
119 must be modified if relocating the package. These files are set up correctly
120 by the build process.</para>
[a8e9d06]121
122 <para>The default installation places the files in
123 <filename class='directory'>/usr/local/qt/</filename>. Many commercial
124 distributions place the files in the system's
125 <filename class='directory'>/usr</filename> hierarchy. The package can
126 also be installed in an arbitrary directory.</para>
127
[1066772]128 <para>The advantage of installing in
129 <filename class='directory'>/usr</filename> is that no updates to the
[a8e9d06]130 <filename>/etc/ld.so.conf</filename> or
131 <filename>/etc/man_db.conf</filename> files are required. The package
132 files are distributed within several subdirectories of the
133 <filename class='directory'>/usr</filename> hierarchy.
134 This is the method that most commercial distributions use.</para>
[ad41452]135
[1b665fb]136 <caution>
[ad41452]137 <para>If <application>Qt</application> is being reinstalled and the
[61d5269]138 <filename class='directory'>/usr</filename>
[a8e9d06]139 directory is used as the prefix, run the following commands from a
[ad41452]140 console or non-Qt based window manager. It overwrites
141 <application>Qt</application> libraries that should not be in use during
[a8e9d06]142 the install process.</para>
[1b665fb]143 </caution>
[a8e9d06]144
145 <note>
146 <para>The build time and space required for the full
[ad41452]147 <application>Qt</application> is quite long. The instructions below do
[410e228b]148 not build the tutorials and examples. Removing the
[61d5269]149 <parameter>-nomake</parameter> lines will create a complete build.</para>
[a8e9d06]150 </note>
151
[ad41452]152 <para>The method recommended by the <application>Qt</application>
[a8e9d06]153 developers does not use the /usr directory prefix. It has the advantage of
154 keeping all the package files consolidated in a dedicated directory
155 hierarchy. By using this method, an update can be made without overwriting
156 a previous installation and users can easily revert to a previous version
157 by changing one symbolic link.</para>
158
[ad41452]159 <para>The <application>Qt</application> developers use a default location
[61d5269]160 of <filename class='directory'>/usr/local/qt/</filename>, however the
161 procedure below puts the files in <filename
[d99d728]162 class='directory'>/opt/qt-&qt-version;/</filename>
[a8e9d06]163 and then creates a symbolic link to <filename>/opt/qt/</filename>.</para>
[14c0f145]164
[ad41452]165 <para>Configure <application>Qt</application> by running the
[61d5269]166 following commands:</para>
[a8e9d06]167
[d99d728]168<screen><userinput>patch -Np1 -i ../qt-everywhere-opensource-src-&qt-version;-glib_fix-1.patch &amp;&amp;
[1464543]169sed -i '/-Werror/d' src/3rdparty/webkit/Source/WebKit.pri &amp;&amp;
[d99d728]170./configure -prefix /opt/qt-&qt-version; \
[14c0f145]171 -release \
172 -nomake examples \
173 -nomake demos \
174 -system-sqlite \
175 -no-nis \
176 -opensource \
[1464543]177 -confirm-license &amp;&amp;
178make</userinput></screen>
[14c0f145]179
[47969a6]180 <note><title>Phonon</title>
[1066772]181 <para>If <application>KDE</application> is intended to be installed, add
[47969a6]182 <option>-no-phonon</option> to the <command>./configure</command> command
[1066772]183 above. While installing <application>KDE</application>, a separate version of the
[47969a6]184 <application>Phonon</application> libraries will be installed which better
[1066772]185 matches the needs of the <application>KDE</application> desktop.</para></note>
[1464543]186
[a8e9d06]187 <para>This package does not come with a test suite.</para>
188
189 <para>Now, as the <systemitem class="username">root</systemitem>
190 user:</para>
191
192<screen role="root"><userinput>make install</userinput></screen>
193
[ad41452]194 <para>If you installed <application>Qt</application> in the /opt directory,
[61d5269]195 again as the <systemitem class="username">root</systemitem> user issue:</para>
[a8e9d06]196
[d99d728]197<screen role="root"><userinput>ln -svfn qt-&qt-version; /opt/qt</userinput></screen>
[a8e9d06]198
199 </sect2>
200
201 <sect2 role="commands">
202 <title>Command Explanations</title>
203
[14c0f145]204 <para><command>patch -Np1 -i qt-everywhere-...</command>:
[ecc84ee9]205 The patch fixes compiling with <application>GLib</application> 2.32.</para>
[14c0f145]206
[1464543]207 <para><command>sed -i '/-Werror/d'...</command>:
[565bc55]208 This sed prevents some compiler warnings being treated as errors when
209 compiling with <application>GCC</application> 4.7. You can omit it if
210 you are compiling with older <application>GCC</application> versions.
211 </para>
[1464543]212
213 <para><parameter>-release</parameter>:
214 This switch disables building with debugging symbols.</para>
215
[410e228b]216 <para><parameter>-nomake examples, -nomake demos</parameter>:
[a8e9d06]217 These switches disable building programs that are only of interest
[ad41452]218 to a <application>Qt</application> developer.</para>
[1464543]219
220 <para><parameter>-system-sqlite</parameter>:
221 Use the system version of <application>SQLite</application>.</para>
222
223 <para><parameter>-no-nis</parameter>:
224 Disable support for Network Information Service (NIS).</para>
225
226 <para><parameter>-opensource</parameter>:
227 Install the opensource version of <application>Qt</application>.</para>
228
229 <para><parameter>-confirm-license</parameter>:
230 Accept license without prompting user during configuration.</para>
[a8e9d06]231
[410e228b]232 <para><parameter>-plugin-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>
[a8e9d06]233 or <parameter>-qt-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>:
[ad41452]234 These switches build SQL support into the <application>Qt</application>
[a8e9d06]235 libraries.</para>
236
237 <note>
[b1a1d93e]238 <para>To check if <application>mysql</application> is autodetected
[a8e9d06]239 properly, examine the output of <command>./configure -qt-sql-mysql
240 -help</command>. Other database support will require similar
241 <command>configure</command> parameters.</para>
242 </note>
[1464543]243
244 <para>There are several optional directories that can be specified in the
245 <command>./configure</command> line. These include
246 <option>-bindir</option>, <option>-libdir</option>,
247 <option>-docdir</option>, and <option>-headerdir</option>. For a complete
248 list, run <command>./configure -help</command>.</para>
[a8e9d06]249
250 </sect2>
251
252 <sect2 role="configuration">
[ad41452]253 <title>Configuring Qt</title>
[a8e9d06]254
[d99d728]255 <sect3 id='qt-config'>
[a8e9d06]256 <title>Configuration Information</title>
257
[ad41452]258 <para>If you installed <application>Qt</application> in a location other
[a8e9d06]259 than /usr, you also need to update the following configuration files so
[ad41452]260 that <application>Qt</application> is correctly found by other packages
[a8e9d06]261 and system processes.</para>
262
[1b665fb]263 <para>As the <systemitem class="username">root</systemitem> user, update
264 the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
265 run-time cache file:</para>
[a8e9d06]266
[ecc84ee9]267<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; "EOF"
[ad41452]268<literal># Begin Qt addition
[a8e9d06]269
270/opt/qt/lib
271
[ad41452]272# End Qt addition</literal>
[a8e9d06]273EOF
[1b665fb]274ldconfig</userinput></screen>
[a8e9d06]275
[d99d728]276 <indexterm zone="qt qt-config">
[a8e9d06]277 <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
278 </indexterm>
279
[8d86c672]280 <para>As the <systemitem class="username">root</systemitem> user, create
[ad41452]281 the <filename>/etc/profile.d/qt.sh</filename> file:</para>
[a8e9d06]282
[ad41452]283<screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; "EOF"
[ecc84ee9]284<literal># Begin /etc/profile.d/qt.sh
[a8e9d06]285
[8d86c672]286QTDIR=/opt/qt
[a8e9d06]287
[8d86c672]288pathappend /opt/qt/bin PATH
289pathappend /opt/qt/lib/pkgconfig PKG_CONFIG_PATH
290
[ad41452]291export QTDIR
[8d86c672]292
[ecc84ee9]293# End /etc/profile.d/qt.sh</literal>
[8d86c672]294EOF</userinput></screen>
295
[a8e9d06]296 </sect3>
297 </sect2>
298
299 <sect2 role="content">
300 <title>Contents</title>
301
302 <segmentedlist>
303 <segtitle>Installed Programs</segtitle>
304 <segtitle>Installed Libraries</segtitle>
305 <segtitle>Installed Directories</segtitle>
306
307 <seglistitem>
[1b665fb]308 <seg>assistant, assistant_adp, designer, lconvert, linguist, lrelease,
309 lupdate, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml,
310 qdbusviewer, qdbusxml2cpp, qhelpconverter, qhelpgenerator,qmake,
[1066772]311 qt3to4, qtconfig, qtdemo, rcc, uic, uic3 and xmlpatterns</seg>
[1b665fb]312
313 <seg>libphonon.so, libQt3Support.so, libQtAssistantClient.so,
314 libQtCLucene.so, libQtCore.so, libQtDesigner.so, libQtDBus.so,
315 libQtDesignerComponents.so, libQtGui.so, libQtHelp.so, libQtNetwork.so,
316 libQtOpenGL.so, libQtScript.so, libQtScriptTools.so, libQtSql.so,
317 libQtSvg.so, libQtTest.so, libQtUiTools.a, libQtWebKit.so, libQtXml.so,
[1066772]318 libQtXmlPatterns.so and numerous plugin modules installed in
[1b665fb]319 <filename class='directory'>/opt/qt/plugins</filename></seg>
[fd7e0ed6]320
[d99d728]321 <seg>/opt/qt-&qt-version;</seg>
[a8e9d06]322 </seglistitem>
323 </segmentedlist>
324
325 <variablelist>
326 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
327 <?dbfo list-presentation="list"?>
328 <?dbhtml list-presentation="table"?>
329
[d99d728]330 <varlistentry id="qt-assistant">
[a8e9d06]331 <term><command>assistant</command></term>
332 <listitem>
333 <para>is a tool for presenting on-line documentation.</para>
[d99d728]334 <indexterm zone="qt qt-assistant">
[a8e9d06]335 <primary sortas="b-assistant">assistant</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
[d99d728]340 <varlistentry id="qt-designer">
[a8e9d06]341 <term><command>designer</command></term>
342 <listitem>
343 <para>is a full-fledged GUI builder. It includes
344 powerful features such as preview mode, automatic widget
345 layout, support for custom widgets, and an advanced
346 property editor.</para>
[d99d728]347 <indexterm zone="qt qt-designer">
[a8e9d06]348 <primary sortas="b-designer">designer</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
[d99d728]353 <varlistentry id="qt-linguist">
[a8e9d06]354 <term><command>linguist</command></term>
355 <listitem>
356 <para>provides support for translating applications into
[61d5269]357 local languages.</para>
[d99d728]358 <indexterm zone="qt qt-linguist">
[a8e9d06]359 <primary sortas="b-linguist">linguist</primary>
360 </indexterm>
361 </listitem>
362 </varlistentry>
363
[d99d728]364 <varlistentry id="qt-lrelease">
[a8e9d06]365 <term><command>lrelease</command></term>
366 <listitem>
367 <para>is a simple command line tool. It reads a Qt project
368 file and produces message files used by the application.</para>
[d99d728]369 <indexterm zone="qt qt-lrelease">
[a8e9d06]370 <primary sortas="b-lrelease">lrelease</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
[d99d728]375 <varlistentry id="qt-lupdate">
[a8e9d06]376 <term><command>lupdate</command></term>
377 <listitem>
378 <para>reads a Qt project file, finds the translatable
379 strings in the specified source, header and Qt Designer
380 interface files, and produces or updates the translation
381 files listed in the project file.</para>
[d99d728]382 <indexterm zone="qt qt-lupdate">
[a8e9d06]383 <primary sortas="b-lupdate">lupdate</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
[d99d728]388 <varlistentry id="qt-moc">
[a8e9d06]389 <term><command>moc</command></term>
390 <listitem>
391 <para>generates Qt meta object support code.</para>
[d99d728]392 <indexterm zone="qt qt-moc">
[a8e9d06]393 <primary sortas="b-moc">moc</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
[d99d728]398 <varlistentry id="qt-pixeltool">
[a8e9d06]399 <term><command>pixeltool</command></term>
400 <listitem>
[410e228b]401 <para>is a desktop magnifier and as you move your mouse around
[a8e9d06]402 the screen it will show the magnified contents in its window.</para>
[d99d728]403 <indexterm zone="qt qt-pixeltool">
[a8e9d06]404 <primary sortas="b-pixeltool">pixeltool</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
[d99d728]409 <varlistentry id="qt-qmake">
[a8e9d06]410 <term><command>qmake</command></term>
411 <listitem>
412 <para>qmake uses information stored in project files to
413 determine what should go in the makefiles it generates.</para>
[d99d728]414 <indexterm zone="qt qt-qmake">
[a8e9d06]415 <primary sortas="b-qmake">qmake</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
[d99d728]420 <varlistentry id="qt-qt3to4">
[a8e9d06]421 <term><command>qt3to4</command></term>
422 <listitem>
[61d5269]423 <para>qt3to4 is a tool to help update Qt3 code to Qt4.</para>
[d99d728]424 <indexterm zone="qt qt-qt3to4">
[a8e9d06]425 <primary sortas="b-qt3to4">qt3to4</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
[d99d728]430 <varlistentry id="qt-qtconfig">
[a8e9d06]431 <term><command>qtconfig</command></term>
432 <listitem>
433 <para>is used to customize the appearance of Qt applications.</para>
[d99d728]434 <indexterm zone="qt qt-qtconfig">
[a8e9d06]435 <primary sortas="b-qtconfig">qtconfig</primary>
436 </indexterm>
437 </listitem>
438 </varlistentry>
439
[d99d728]440 <varlistentry id="qt-qtdemo">
[a8e9d06]441 <term><command>qtdemo</command></term>
442 <listitem>
[410e228b]443 <para>is a portal into various demonstrations of Qt
[a8e9d06]444 applications.</para>
[d99d728]445 <indexterm zone="qt qt-qtdemo">
[a8e9d06]446 <primary sortas="b-qtdemo">qtdemo</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450
[d99d728]451 <varlistentry id="qt-rcc">
[a8e9d06]452 <term><command>rcc</command></term>
453 <listitem>
[1066772]454 <para>is a resource compiler used in conjunction with designer.</para>
[d99d728]455 <indexterm zone="qt qt-rcc">
[a8e9d06]456 <primary sortas="b-rcc">rcc</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
[d99d728]461 <varlistentry id="qt-uic">
[a8e9d06]462 <term><command>uic</command></term>
463 <listitem>
464 <para>is a Qt user interface compiler.</para>
[d99d728]465 <indexterm zone="qt qt-uic">
[a8e9d06]466 <primary sortas="b-uic">uic</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
[d99d728]471 <varlistentry id="qt-uic3">
[a8e9d06]472 <term><command>uic3</command></term>
473 <listitem>
[410e228b]474 <para>is a tool to generate Qt4 code out of
475 user interface files generated by the Qt3
[ecc84ee9]476 version of designer.</para>
[d99d728]477 <indexterm zone="qt qt-uic3">
[a8e9d06]478 <primary sortas="b-uic3">uic3</primary>
479 </indexterm>
480 </listitem>
481 </varlistentry>
482
483 </variablelist>
484
485 </sect2>
486
487</sect1>
Note: See TracBrowser for help on using the repository browser.