source: x/lib/qt.xml@ 8057fc4

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 8057fc4 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
Line 
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
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)">
13]>
14
15<sect1 id="qt" xreflabel="Qt-&qt-version;">
16 <?dbhtml filename="qt.html" ?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Qt-&qt-version;</title>
24
25 <indexterm zone="qt">
26 <primary sortas="a-qt">Qt</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Qt</title>
31
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
37 of <application>Qt</application> is <application>KDE</application>.</para>
38
39 &lfs71_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>Download (HTTP): <ulink url="&qt-download-http;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download (FTP): <ulink url="&qt-download-ftp;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download MD5 sum: &qt-md5sum;</para>
51 </listitem>
52 <listitem>
53 <para>Download size: &qt-size;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated disk space required: &qt-buildsize;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated build time: &qt-time;</para>
60 </listitem>
61 </itemizedlist>
62
63
64 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
65 <itemizedlist spacing="compact">
66 <listitem>
67 <para>GLib 2.32 patch: <ulink
68 url="&patch-root;/qt-everywhere-opensource-src-&qt-version;-glib_fix-1.patch"/>
69 </para>
70 </listitem>
71 </itemizedlist>
72
73
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>
80 <para role="recommended">
81 <xref linkend="dbus"/>,
82 <xref linkend="libjpeg"/>,
83 <xref linkend="libmng"/>,
84 <xref linkend="libtiff"/>,
85 <xref linkend="libpng"/> and
86 <xref linkend="pkgconfig"/> (needed to use D-Bus, GLib, GTK and PulseAudio)
87 </para>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
90 <para role="optional">
91 <!--<xref linkend="nas"/>,-->
92 <xref linkend="gst-plugins-base"/>,
93 <xref linkend='pulseaudio'/>,
94 <xref linkend='glib2'/>,
95 <xref linkend="gtk2"/>,
96 <xref linkend="openssl"/>,
97 <xref linkend="cups"/>,
98 <xref linkend="mysql"/>,
99 <xref linkend="postgresql"/>,
100 <xref linkend="unixodbc"/> and
101 <xref linkend="sqlite"/>
102 </para>
103
104 <para condition="html" role="usernotes">User Notes:
105 <ulink url="&blfs-wiki;/qt"/></para>
106
107 </sect2>
108
109 <sect2 role="installation">
110 <title>Installation of Qt</title>
111
112 <para>There are several ways to install a complicated package such as
113 <application>Qt</application>. The files are not completely position
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
117 <application>Qt</application>, <command>pkg-config</command> will look
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>
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
128 <para>The advantage of installing in
129 <filename class='directory'>/usr</filename> is that no updates to the
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>
135
136 <caution>
137 <para>If <application>Qt</application> is being reinstalled and the
138 <filename class='directory'>/usr</filename>
139 directory is used as the prefix, run the following commands from a
140 console or non-Qt based window manager. It overwrites
141 <application>Qt</application> libraries that should not be in use during
142 the install process.</para>
143 </caution>
144
145 <note>
146 <para>The build time and space required for the full
147 <application>Qt</application> is quite long. The instructions below do
148 not build the tutorials and examples. Removing the
149 <parameter>-nomake</parameter> lines will create a complete build.</para>
150 </note>
151
152 <para>The method recommended by the <application>Qt</application>
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
159 <para>The <application>Qt</application> developers use a default location
160 of <filename class='directory'>/usr/local/qt/</filename>, however the
161 procedure below puts the files in <filename
162 class='directory'>/opt/qt-&qt-version;/</filename>
163 and then creates a symbolic link to <filename>/opt/qt/</filename>.</para>
164
165 <para>Configure <application>Qt</application> by running the
166 following commands:</para>
167
168<screen><userinput>patch -Np1 -i ../qt-everywhere-opensource-src-&qt-version;-glib_fix-1.patch &amp;&amp;
169sed -i '/-Werror/d' src/3rdparty/webkit/Source/WebKit.pri &amp;&amp;
170./configure -prefix /opt/qt-&qt-version; \
171 -release \
172 -nomake examples \
173 -nomake demos \
174 -system-sqlite \
175 -no-nis \
176 -opensource \
177 -confirm-license &amp;&amp;
178make</userinput></screen>
179
180 <note><title>Phonon</title>
181 <para>If <application>KDE</application> is intended to be installed, add
182 <option>-no-phonon</option> to the <command>./configure</command> command
183 above. While installing <application>KDE</application>, a separate version of the
184 <application>Phonon</application> libraries will be installed which better
185 matches the needs of the <application>KDE</application> desktop.</para></note>
186
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
194 <para>If you installed <application>Qt</application> in the /opt directory,
195 again as the <systemitem class="username">root</systemitem> user issue:</para>
196
197<screen role="root"><userinput>ln -svfn qt-&qt-version; /opt/qt</userinput></screen>
198
199 </sect2>
200
201 <sect2 role="commands">
202 <title>Command Explanations</title>
203
204 <para><command>patch -Np1 -i qt-everywhere-...</command>:
205 The patch fixes compiling with <application>GLib</application> 2.32.</para>
206
207 <para><command>sed -i '/-Werror/d'...</command>:
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>
212
213 <para><parameter>-release</parameter>:
214 This switch disables building with debugging symbols.</para>
215
216 <para><parameter>-nomake examples, -nomake demos</parameter>:
217 These switches disable building programs that are only of interest
218 to a <application>Qt</application> developer.</para>
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>
231
232 <para><parameter>-plugin-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>
233 or <parameter>-qt-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>:
234 These switches build SQL support into the <application>Qt</application>
235 libraries.</para>
236
237 <note>
238 <para>To check if <application>mysql</application> is autodetected
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>
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>
249
250 </sect2>
251
252 <sect2 role="configuration">
253 <title>Configuring Qt</title>
254
255 <sect3 id='qt-config'>
256 <title>Configuration Information</title>
257
258 <para>If you installed <application>Qt</application> in a location other
259 than /usr, you also need to update the following configuration files so
260 that <application>Qt</application> is correctly found by other packages
261 and system processes.</para>
262
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>
266
267<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; "EOF"
268<literal># Begin Qt addition
269
270/opt/qt/lib
271
272# End Qt addition</literal>
273EOF
274ldconfig</userinput></screen>
275
276 <indexterm zone="qt qt-config">
277 <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
278 </indexterm>
279
280 <para>As the <systemitem class="username">root</systemitem> user, create
281 the <filename>/etc/profile.d/qt.sh</filename> file:</para>
282
283<screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; "EOF"
284<literal># Begin /etc/profile.d/qt.sh
285
286QTDIR=/opt/qt
287
288pathappend /opt/qt/bin PATH
289pathappend /opt/qt/lib/pkgconfig PKG_CONFIG_PATH
290
291export QTDIR
292
293# End /etc/profile.d/qt.sh</literal>
294EOF</userinput></screen>
295
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>
308 <seg>assistant, assistant_adp, designer, lconvert, linguist, lrelease,
309 lupdate, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml,
310 qdbusviewer, qdbusxml2cpp, qhelpconverter, qhelpgenerator,qmake,
311 qt3to4, qtconfig, qtdemo, rcc, uic, uic3 and xmlpatterns</seg>
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,
318 libQtXmlPatterns.so and numerous plugin modules installed in
319 <filename class='directory'>/opt/qt/plugins</filename></seg>
320
321 <seg>/opt/qt-&qt-version;</seg>
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
330 <varlistentry id="qt-assistant">
331 <term><command>assistant</command></term>
332 <listitem>
333 <para>is a tool for presenting on-line documentation.</para>
334 <indexterm zone="qt qt-assistant">
335 <primary sortas="b-assistant">assistant</primary>
336 </indexterm>
337 </listitem>
338 </varlistentry>
339
340 <varlistentry id="qt-designer">
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>
347 <indexterm zone="qt qt-designer">
348 <primary sortas="b-designer">designer</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="qt-linguist">
354 <term><command>linguist</command></term>
355 <listitem>
356 <para>provides support for translating applications into
357 local languages.</para>
358 <indexterm zone="qt qt-linguist">
359 <primary sortas="b-linguist">linguist</primary>
360 </indexterm>
361 </listitem>
362 </varlistentry>
363
364 <varlistentry id="qt-lrelease">
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>
369 <indexterm zone="qt qt-lrelease">
370 <primary sortas="b-lrelease">lrelease</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="qt-lupdate">
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>
382 <indexterm zone="qt qt-lupdate">
383 <primary sortas="b-lupdate">lupdate</primary>
384 </indexterm>
385 </listitem>
386 </varlistentry>
387
388 <varlistentry id="qt-moc">
389 <term><command>moc</command></term>
390 <listitem>
391 <para>generates Qt meta object support code.</para>
392 <indexterm zone="qt qt-moc">
393 <primary sortas="b-moc">moc</primary>
394 </indexterm>
395 </listitem>
396 </varlistentry>
397
398 <varlistentry id="qt-pixeltool">
399 <term><command>pixeltool</command></term>
400 <listitem>
401 <para>is a desktop magnifier and as you move your mouse around
402 the screen it will show the magnified contents in its window.</para>
403 <indexterm zone="qt qt-pixeltool">
404 <primary sortas="b-pixeltool">pixeltool</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="qt-qmake">
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>
414 <indexterm zone="qt qt-qmake">
415 <primary sortas="b-qmake">qmake</primary>
416 </indexterm>
417 </listitem>
418 </varlistentry>
419
420 <varlistentry id="qt-qt3to4">
421 <term><command>qt3to4</command></term>
422 <listitem>
423 <para>qt3to4 is a tool to help update Qt3 code to Qt4.</para>
424 <indexterm zone="qt qt-qt3to4">
425 <primary sortas="b-qt3to4">qt3to4</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="qt-qtconfig">
431 <term><command>qtconfig</command></term>
432 <listitem>
433 <para>is used to customize the appearance of Qt applications.</para>
434 <indexterm zone="qt qt-qtconfig">
435 <primary sortas="b-qtconfig">qtconfig</primary>
436 </indexterm>
437 </listitem>
438 </varlistentry>
439
440 <varlistentry id="qt-qtdemo">
441 <term><command>qtdemo</command></term>
442 <listitem>
443 <para>is a portal into various demonstrations of Qt
444 applications.</para>
445 <indexterm zone="qt qt-qtdemo">
446 <primary sortas="b-qtdemo">qtdemo</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450
451 <varlistentry id="qt-rcc">
452 <term><command>rcc</command></term>
453 <listitem>
454 <para>is a resource compiler used in conjunction with designer.</para>
455 <indexterm zone="qt qt-rcc">
456 <primary sortas="b-rcc">rcc</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="qt-uic">
462 <term><command>uic</command></term>
463 <listitem>
464 <para>is a Qt user interface compiler.</para>
465 <indexterm zone="qt qt-uic">
466 <primary sortas="b-uic">uic</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471 <varlistentry id="qt-uic3">
472 <term><command>uic3</command></term>
473 <listitem>
474 <para>is a tool to generate Qt4 code out of
475 user interface files generated by the Qt3
476 version of designer.</para>
477 <indexterm zone="qt qt-uic3">
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.