source: x/lib/qt4.xml@ e40b79b6

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 e40b79b6 was e40b79b6, checked in by Ragnar Thomsen <rthomsen@…>, 12 years ago

Fix dep. for VLC, Qt and Qca. Typos and root-role.

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

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