source: x/lib/qt4.xml@ b83d289

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 b83d289 was f7e3016, checked in by Ken Moffat <ken@…>, 12 years ago

Start on replacing pkgconfig by glib2 in deps. This commit effectively reverts what is left of r9689 and r9661.

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

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