source: x/lib/qt.xml@ 3ddb430

10.0 10.1 11.0 11.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 krejzi/svn lazarus nosym perl-modules qt5new systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 3ddb430 was 3ddb430, checked in by Ragnar Thomsen <rthomsen@…>, 10 years ago

Phonon and Qt corrections.

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

  • Property mode set to 100644
File size: 17.4 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 "a663b6c875f8d7caa8ac9c30e4a4ec3b">
10 <!ENTITY qt-size "234 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 &lfs72_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>./configure -prefix /opt/qt-&qt-version; \
169 -release \
170 -nomake examples \
171 -nomake demos \
172 -system-sqlite \
173 -no-nis \
174 -opensource \
175 -confirm-license &amp;&amp;
176make</userinput></screen>
177
178 <note><title>Phonon</title>
179 <para>If <application>KDE</application> is intended to be installed, add
180 <option>-no-phonon</option> to the <command>./configure</command> command
181 above. While installing <application>KDE</application>, a separate version of the
182 <application>Phonon</application> libraries will be installed which better
183 matches the needs of the <application>KDE</application> desktop.</para></note>
184
185 <para>This package does not come with a test suite.</para>
186
187 <para>Now, as the <systemitem class="username">root</systemitem>
188 user:</para>
189
190<screen role="root"><userinput>make install</userinput></screen>
191
192 <para>If you installed <application>Qt</application> in the /opt directory,
193 again as the <systemitem class="username">root</systemitem> user issue:</para>
194
195<screen role="root"><userinput>ln -svfn qt-&qt-version; /opt/qt</userinput></screen>
196
197 </sect2>
198
199 <sect2 role="commands">
200 <title>Command Explanations</title>
201
202 <para><parameter>-release</parameter>:
203 This switch disables building with debugging symbols.</para>
204
205 <para><parameter>-nomake examples, -nomake demos</parameter>:
206 These switches disable building programs that are only of interest
207 to a <application>Qt</application> developer.</para>
208
209 <para><parameter>-system-sqlite</parameter>:
210 Use the system version of <application>SQLite</application>.</para>
211
212 <para><parameter>-no-nis</parameter>:
213 Disable support for Network Information Service (NIS).</para>
214
215 <para><parameter>-opensource</parameter>:
216 Install the opensource version of <application>Qt</application>.</para>
217
218 <para><parameter>-confirm-license</parameter>:
219 Accept license without prompting user during configuration.</para>
220
221 <para><parameter>-plugin-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>
222 or <parameter>-qt-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>:
223 These switches build SQL support into the <application>Qt</application>
224 libraries.</para>
225
226 <note>
227 <para>To check if <application>mysql</application> is autodetected
228 properly, examine the output of <command>./configure -qt-sql-mysql
229 -help</command>. Other database support will require similar
230 <command>configure</command> parameters.</para>
231 </note>
232
233 <para>There are several optional directories that can be specified in the
234 <command>./configure</command> line. These include
235 <option>-bindir</option>, <option>-libdir</option>,
236 <option>-docdir</option>, and <option>-headerdir</option>. For a complete
237 list, run <command>./configure -help</command>.</para>
238
239 </sect2>
240
241 <sect2 role="configuration">
242 <title>Configuring Qt</title>
243
244 <sect3 id='qt-config'>
245 <title>Configuration Information</title>
246
247 <para>If you installed <application>Qt</application> in /usr, create an
248 environment variable needed by certain packages. As the
249 <systemitem class="username">root</systemitem> user:</para>
250
251<screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; EOF
252<literal># Begin /etc/profile.d/qt.sh
253
254QTDIR=/usr
255
256export QTDIR
257
258# End /etc/profile.d/qt.sh</literal>
259EOF</userinput></screen>
260
261 <para>If you installed <application>Qt</application> in a location other
262 than /usr, you need to update the following configuration files so
263 that <application>Qt</application> is correctly found by other packages
264 and system processes.</para>
265
266 <para>As the <systemitem class="username">root</systemitem> user, update
267 the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
268 run-time cache file:</para>
269
270<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
271<literal># Begin Qt addition
272
273/opt/qt/lib
274
275# End Qt addition</literal>
276EOF
277ldconfig</userinput></screen>
278
279 <indexterm zone="qt qt-config">
280 <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
281 </indexterm>
282
283 <para>As the <systemitem class="username">root</systemitem> user, create
284 the <filename>/etc/profile.d/qt.sh</filename> file:</para>
285
286<screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; EOF
287<literal># Begin /etc/profile.d/qt.sh
288
289QTDIR=/opt/qt
290
291pathappend /opt/qt/bin PATH
292pathappend /opt/qt/lib/pkgconfig PKG_CONFIG_PATH
293
294export QTDIR
295
296# End /etc/profile.d/qt.sh</literal>
297EOF</userinput></screen>
298
299 </sect3>
300 </sect2>
301
302 <sect2 role="content">
303 <title>Contents</title>
304
305 <segmentedlist>
306 <segtitle>Installed Programs</segtitle>
307 <segtitle>Installed Libraries</segtitle>
308 <segtitle>Installed Directories</segtitle>
309
310 <seglistitem>
311 <seg>assistant, designer, lconvert, linguist, lrelease, lupdate, moc,
312 pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer,
313 qdbusxml2cpp, qdoc3, qhelpconverter, qhelpgenerator, qmake,
314 qmlplugindump, qmlviewer, qt3to4, qtconfig, qttracereplay, rcc, uic,
315 uic3, xmlpatterns and xmlpatternsvalidator</seg>
316
317 <seg>libphonon.so, libQt3Support.so, libQtCLucene.so, libQtCore.so,
318 libQtDBus.so, libQtDeclarative.so, libQtDesigner.so,
319 libQtDesignerComponents.so, libQtGui.so, libQtHelp.so, libQtMultimedia,
320 libQtNetwork.so, libQtOpenGL.so, libQtScript.so, libQtScriptTools.so,
321 libQtSql.so, libQtSvg.so, libQtTest.so, libQtUiTools.a, libQtWebKit.so,
322 libQtXml.so, libQtXmlPatterns.so and numerous plugin modules installed
323 in <filename class='directory'>/opt/qt/plugins</filename></seg>
324
325 <seg>/opt/qt-&qt-version;</seg>
326 </seglistitem>
327 </segmentedlist>
328
329 <variablelist>
330 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
331 <?dbfo list-presentation="list"?>
332 <?dbhtml list-presentation="table"?>
333
334 <varlistentry id="qt-assistant">
335 <term><command>assistant</command></term>
336 <listitem>
337 <para>is a tool for presenting on-line documentation.</para>
338 <indexterm zone="qt qt-assistant">
339 <primary sortas="b-assistant">assistant</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="qt-designer">
345 <term><command>designer</command></term>
346 <listitem>
347 <para>is a full-fledged GUI builder. It includes
348 powerful features such as preview mode, automatic widget
349 layout, support for custom widgets, and an advanced
350 property editor.</para>
351 <indexterm zone="qt qt-designer">
352 <primary sortas="b-designer">designer</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="qt-linguist">
358 <term><command>linguist</command></term>
359 <listitem>
360 <para>provides support for translating applications into
361 local languages.</para>
362 <indexterm zone="qt qt-linguist">
363 <primary sortas="b-linguist">linguist</primary>
364 </indexterm>
365 </listitem>
366 </varlistentry>
367
368 <varlistentry id="qt-lrelease">
369 <term><command>lrelease</command></term>
370 <listitem>
371 <para>is a simple command line tool. It reads a Qt project
372 file and produces message files used by the application.</para>
373 <indexterm zone="qt qt-lrelease">
374 <primary sortas="b-lrelease">lrelease</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="qt-lupdate">
380 <term><command>lupdate</command></term>
381 <listitem>
382 <para>reads a Qt project file, finds the translatable
383 strings in the specified source, header and Qt Designer
384 interface files, and produces or updates the translation
385 files listed in the project file.</para>
386 <indexterm zone="qt qt-lupdate">
387 <primary sortas="b-lupdate">lupdate</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391
392 <varlistentry id="qt-moc">
393 <term><command>moc</command></term>
394 <listitem>
395 <para>generates Qt meta object support code.</para>
396 <indexterm zone="qt qt-moc">
397 <primary sortas="b-moc">moc</primary>
398 </indexterm>
399 </listitem>
400 </varlistentry>
401
402 <varlistentry id="qt-pixeltool">
403 <term><command>pixeltool</command></term>
404 <listitem>
405 <para>is a desktop magnifier and as you move your mouse around
406 the screen it will show the magnified contents in its window.</para>
407 <indexterm zone="qt qt-pixeltool">
408 <primary sortas="b-pixeltool">pixeltool</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="qt-qmake">
414 <term><command>qmake</command></term>
415 <listitem>
416 <para>qmake uses information stored in project files to
417 determine what should go in the makefiles it generates.</para>
418 <indexterm zone="qt qt-qmake">
419 <primary sortas="b-qmake">qmake</primary>
420 </indexterm>
421 </listitem>
422 </varlistentry>
423
424 <varlistentry id="qt-qt3to4">
425 <term><command>qt3to4</command></term>
426 <listitem>
427 <para>qt3to4 is a tool to help update Qt3 code to Qt4.</para>
428 <indexterm zone="qt qt-qt3to4">
429 <primary sortas="b-qt3to4">qt3to4</primary>
430 </indexterm>
431 </listitem>
432 </varlistentry>
433
434 <varlistentry id="qt-qtconfig">
435 <term><command>qtconfig</command></term>
436 <listitem>
437 <para>is used to customize the appearance of Qt applications.</para>
438 <indexterm zone="qt qt-qtconfig">
439 <primary sortas="b-qtconfig">qtconfig</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="qt-rcc">
445 <term><command>rcc</command></term>
446 <listitem>
447 <para>is a resource compiler used in conjunction with designer.</para>
448 <indexterm zone="qt qt-rcc">
449 <primary sortas="b-rcc">rcc</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="qt-uic">
455 <term><command>uic</command></term>
456 <listitem>
457 <para>is a Qt user interface compiler.</para>
458 <indexterm zone="qt qt-uic">
459 <primary sortas="b-uic">uic</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="qt-uic3">
465 <term><command>uic3</command></term>
466 <listitem>
467 <para>is a tool to generate Qt4 code out of
468 user interface files generated by the Qt3
469 version of designer.</para>
470 <indexterm zone="qt qt-uic3">
471 <primary sortas="b-uic3">uic3</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 </variablelist>
477
478 </sect2>
479
480</sect1>
Note: See TracBrowser for help on using the repository browser.