source: x/lib/qt4.xml@ ad41452

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

Fix Qca compile with GCC4.7. QTDIR variable.

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

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