source: x/lib/qt4.xml@ 565bc55

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

Rectify Qt sed command explanation.

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