source: x/lib/qt4.xml@ 7af92fe5

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 7af92fe5 was 7af92fe5, checked in by Krejzi <krejzi@…>, 11 years ago

Qt instructions update: Install in /usr by default, don't install executable files in /usr/bin by default - symlink them for now. They will conflict with Qt5 versions. Qtchooser package will handle which Qt version is in use when the time is right.

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

  • Property mode set to 100644
File size: 18.2 KB
RevLine 
[7af92fe5]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://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-&qt4-version;.tar.gz">
8 <!ENTITY qt4-download-ftp " ">
9 <!ENTITY qt4-md5sum "89c5ecba180cae74c66260ac732dc5cb">
10 <!ENTITY qt4-size "226 MB">
11 <!ENTITY qt4-buildsize "1.9 GB">
12 <!ENTITY qt4-time "70 SBU">
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-Qt">Qt</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Qt</title>
31
32 <para>
33 <application>Qt</application> is a cross-platform application
34 framework that is widely used for developing application software
35 with a graphical user interface (GUI) (in which cases Qt is classified
36 as a widget toolkit), and also used for developing non-GUI programs such
37 as command-line tools and consoles for servers. One of the major users
38 of <application>Qt</application> is <application>KDE</application>.
39 </para>
40
41 &lfs73_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&qt4-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&qt4-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &qt4-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &qt4-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &qt4-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &qt4-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77 <bridgehead renderas="sect3">Qt Dependencies</bridgehead>
78
79 <bridgehead renderas="sect4">Required</bridgehead>
80 <para role="required">
81 <xref linkend="mesalib"/>
82 </para>
83
84 <bridgehead renderas="sect4">Recommended</bridgehead>
85 <para role="recommended">
86 <xref linkend="cacerts"/>,
87 <xref linkend="dbus"/>,
88 <xref linkend="glib2"/>,
89 <xref linkend="icu"/> (unicode support),
90 <xref linkend="libjpeg"/>,
91 <xref linkend="libmng"/>,
92 <xref linkend="libpng"/>,
93 <xref linkend="libtiff"/>,
94 <xref linkend="openssl"/> and
95 <xref linkend="sqlite"/>
96 </para>
97
98 <bridgehead renderas="sect4">Optional</bridgehead>
99 <para role="optional">
100 <xref linkend="cups"/>,
101 <xref linkend="gtk2"/> (GTK+ 2 theme support),
102 <xref linkend="gst-plugins-base"/> (For QtWebKit HTML5 Video),
103 <xref linkend="mysql"/>,
104 <xref linkend="postgresql"/>,
105 <xref linkend="pulseaudio"/> and
106 <xref linkend="unixodbc"/>
107 </para>
108
109 <para condition="html" role="usernotes">User Notes:
110 <ulink url="&blfs-wiki;/qt4"/>
111 </para>
112 </sect2>
113
114 <sect2 role="installation">
115 <title>Installation of Qt</title>
116
117 <caution>
118 <para>
119 If <application>Qt</application> is being reinstalled, run the
120 following commands from a console or non-Qt based window manager.
121 It overwrites <application>Qt</application> libraries that should
122 not be in use during the install process.
123 </para>
124 </caution>
125
126 <note>
127 <para>
128 The build time and space required for the full
129 <application>Qt</application> is quite long. The instructions below
130 do not build the tutorials and examples. Removing the
131 <parameter>-nomake</parameter> lines will create a complete build.
132 </para>
133 </note>
134
135 <para>
136 Install <application>Qt</application> by running the
137 following commands:
138 </para>
139
140<screen><userinput>./configure -confirm-license \
141 -opensource \
142 -release \
143 -prefix /usr \
144 -bindir /usr/lib/qt4/bin \
145 -headerdir /usr/include/qt4 \
146 -datadir /usr/share/qt4 \
147 -plugindir /usr/lib/qt4/plugins \
148 -importdir /usr/lib/qt4/imports \
149 -translationdir /usr/share/qt4/translations \
150 -sysconfdir /etc/xdg \
151 -docdir /usr/share/doc/qt4 \
152 -demosdir /usr/share/doc/qt4/demos \
153 -examplesdir /usr/share/doc/qt4/examples \
154 -dbus-linked \
155 -openssl-linked \
156 -system-sqlite \
157 -plugin-sql-sqlite \
158 -no-phonon \
159 -no-phonon-backend \
160 -no-nis \
161 -no-openvg \
162 -nomake demos \
163 -nomake examples \
164 -optimized-qmake &amp;&amp;
165make</userinput></screen>
166
167 <para>
168 This package does not come with a test suite.
169 </para>
170
171 <para>
172 Now, as the <systemitem class="username">root</systemitem> user:
173 </para>
174
175<screen role="root"><userinput>make install &amp;&amp;
176rm -rf /usr/tests &amp;&amp;
177install -v -Dm644 src/gui/dialogs/images/qtlogo-64.png \
178 /usr/share/pixmaps/qt4logo.png &amp;&amp;
179install -v -Dm644 tools/assistant/tools/assistant/images/assistant-128.png \
180 /usr/share/pixmaps/assistant-qt4.png &amp;&amp;
181install -v -Dm644 tools/designer/src/designer/images/designer.png \
182 /usr/share/pixmaps/designer-qt4.png &amp;&amp;
183install -v -Dm644 tools/linguist/linguist/images/icons/linguist-128-32.png \
184 /usr/share/pixmaps/linguist-qt4.png &amp;&amp;
185install -v -Dm644 tools/qdbus/qdbusviewer/images/qdbusviewer-128.png \
186 /usr/share/pixmaps/qdbusviewer-qt4.png</userinput></screen>
187
188 <para>
189 Remove references to the build directory from installed files by
190 running the following commands as the
191 <systemitem class="username">root</systemitem> user:
192 </para>
193
194<screen role="root"><userinput>find /usr/lib/libQt*.prl -exec sed -i -e \
195 '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
196find /usr/lib/pkgconfig/Qt*.pc -exec perl -pi -e \
197 "s, -L$(basename $PWD)/?\S+,,g" {} \;</userinput></screen>
198
199 <para>
200 Fix pkg-config files to point to the correct bindir by
201 running the following command as the
202 <systemitem class="username">root</systemitem> user:
203 </para>
204
205<screen role="root"><userinput>find /usr/lib/pkgconfig/Qt*.pc -exec sed -i -e \
206 "s@/usr/bin/@/usr/lib/qt4/bin/@g" {} \;</userinput></screen>
207
208 <para>
209 Symlink the <application>Qt</application> executables into
210 <filename class="directory">/usr/bin</filename> by running the
211 following commands as the
212 <systemitem class="username">root</systemitem> user:
213 </para>
214
215<!-- This will be handled by qtchooser -->
216<screen role="root"><userinput>for file in /usr/lib/qt4/bin/*
217do
218 ln -sfv ../lib/qt4/bin/$(basename $file) /usr/bin/$(basename $file)
219 ln -sfv ../lib/qt4/bin/$(basename $file) /usr/bin/$(basename $file)-qt4
220done</userinput></screen>
221
222 </sect2>
223
224 <sect2 role="commands">
225 <title>Command Explanations</title>
226
227 <para>
228 <parameter>-confirm-license</parameter>: Accept license
229 without prompting user during configuration.
230 </para>
231
232 <para>
233 <parameter>-opensource</parameter>: Install the opensource
234 version of <application>Qt</application>.
235 </para>
236
237 <para><parameter>-release</parameter>:
238 This switch disables building with debugging symbols.</para>
239
240 <para>
241 <parameter>-nomake examples -nomake demos</parameter>:
242 These switches disable building programs that are only of
243 interest to a <application>Qt</application> developer.
244 </para>
245
246 <para>
247 <parameter>-system-sqlite</parameter>: This switch enables use
248 the system version of <application>SQLite</application>.
249 </para>
250
251 <para>
252 <parameter>-no-nis</parameter>: This switch disables support
253 for Network Information Service (NIS) which has been
254 deprecated in recent versions of <application>Glibc</application>.
255 </para>
256
257 <para>
258 <parameter>-no-phonon -no-phonon-backend</parameter>: These
259 switches disable building of the bundled
260 <application>Phonon</application> library. Better version
261 is provided by <xref linkend="phonon"/> package.
262 </para>
263
264 <para>
265 <parameter>-dbus-linkend -openssl-linkend</parameter>: These
266 switches enable explicit linking of the
267 <application>D-Bus</application> and
268 <application>OpenSSL</application> libraries into
269 <application>Qt</application> libraries instead of
270 <command>dlopen()</command>-ing them.
271 </para>
272
273 <para>
274 <parameter>-no-openvg</parameter>: This switch disables
275 <application>OpenVG</application> support in
276 <application>Qt</application>.
277 </para>
278
279 <para>
280 <parameter>-plugin-sql-<replaceable>&lt;driver&gt;</replaceable></parameter>:
281 These switches enable SQL support in the
282 <application>Qt</application> libraries. Available drivers are:
283 ibase, mysql, psql, sqlite and odbc.
284 </para>
285
286 </sect2>
287
288 <sect2 role="configuration">
289 <title>Configuring Qt</title>
290
291 <sect3 id="qt4-config">
292 <title>Configuration Information</title>
293
294 <para>
295 Create an environment variable needed by certain packages.
296 As the <systemitem class="username">root</systemitem> user:
297 </para>
298
299<screen role="root"><userinput>cat &gt; /etc/profile.d/qt.sh &lt;&lt; EOF
300<literal># Begin /etc/profile.d/qt.sh
301
302QTDIR=/usr
303
304export QTDIR
305
306# End /etc/profile.d/qt.sh</literal>
307EOF</userinput></screen>
308
309 <para>
310 Create the menu entries for installed applications.
311 As the <systemitem class="username">root</systemitem> user:
312 </para>
313
314<screen role="root">install -dm755 /usr/share/applications
315<userinput>cat &gt; /usr/share/applications/qtconfig-qt4.desktop &lt;&lt; "EOF"
316<literal>[Desktop Entry]
317Name=Qt4 Config
318Comment=Configure Qt4 behavior, styles, fonts
319Exec=qtconfig-qt4
320Icon=qt4logo
321Terminal=false
322Encoding=UTF-8
323Type=Application
324Categories=Qt;Settings;</literal>
325EOF
326cat &gt; /usr/share/applications/assistant-qt4.desktop &lt;&lt; "EOF"
327<literal>[Desktop Entry]
328Name=Qt4 Assistant
329Comment=Shows Qt4 documentation and examples
330Exec=assistant-qt4
331Icon=assistant-qt4
332Terminal=false
333Encoding=UTF-8
334Type=Application
335Categories=Qt;Development;Documentation;</literal>
336EOF
337cat &gt; /usr/share/applications/designer-qt4.desktop &lt;&lt; "EOF"
338<literal>[Desktop Entry]
339Name=Qt4 Designer
340Comment=Design GUIs for Qt4 applications
341Exec=designer-qt4
342Icon=designer-qt4
343MimeType=application/x-designer;
344Terminal=false
345Encoding=UTF-8
346Type=Application
347Categories=Qt;Development;</literal>
348EOF
349cat &gt; /usr/share/applications/linguist-qt4.desktop &lt;&lt; "EOF"
350<literal>[Desktop Entry]
351Name=Qt4 Linguist
352Comment=Add translations to Qt4 applications
353Exec=linguist-qt4
354Icon=linguist-qt4
355MimeType=text/vnd.trolltech.linguist;application/x-linguist;
356Terminal=false
357Encoding=UTF-8
358Type=Application
359Categories=Qt;Development;</literal>
360EOF
361cat &gt; /usr/share/applications/qdbusviewer-qt4.desktop &lt;&lt; "EOF"
362<literal>[Desktop Entry]
363Name=Qt4 QDbusViewer
364GenericName=D-Bus Debugger
365Comment=Debug D-Bus applications
366Exec=qdbusviewer-qt4
367Icon=qdbusviewer-qt4
368Terminal=false
369Encoding=UTF-8
370Type=Application
371Categories=Qt;Development;Debugger;</literal>
372EOF</userinput></screen>
373
374 </sect3>
375
376 </sect2>
377
378 <sect2 role="content">
379 <title>Contents</title>
380
381 <segmentedlist>
382 <segtitle>Installed Programs</segtitle>
383 <segtitle>Installed Libraries</segtitle>
384 <segtitle>Installed Directories</segtitle>
385
386 <seglistitem>
387 <seg>
388 assistant, designer, lconvert, linguist, lrelease, lupdate,
389 moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml,
390 qdbusviewer, qdbusxml2cpp, qdoc3, qhelpconverter, qhelpgenerator,
391 qmake, qmlplugindump, qmlviewer, qt3to4, qtconfig, qttracereplay,
392 rcc, uic, uic3, xmlpatterns and xmlpatternsvalidator
393 </seg>
394 <seg>
395 libQt3Support.so, libQtCLucene.so, libQtCore.so, libQtDBus.so,
396 libQtDeclarative.so, libQtDesignerComponents.so, libQtDesigner.so,
397 libQtGui.so, libQtHelp.so, libQtMultimedia.so, libQtNetwork.so,
398 libQtOpenGL.so, libQtScript.so, libQtScriptTools.so, libQtSql.so,
399 libQtSvg.so, libQtTest.so, libQtWebKit.so, libQtXmlPatterns.so and
400 libQtXml.so
401 </seg>
402 <seg>
403 /usr/include/qt4,
404 /usr/lib/qt4,
405 /usr/share/qt4 and
406 /usr/share/doc/qt4
407 </seg>
408 </seglistitem>
409 </segmentedlist>
410
411 <variablelist>
412 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
413 <?dbfo list-presentation="list"?>
414 <?dbhtml list-presentation="table"?>
415
416 <varlistentry id="qt-assistant">
417 <term><command>assistant</command></term>
418 <listitem>
419 <para>
420 is a tool for presenting on-line documentation.
421 </para>
422 <indexterm zone="qt4 qt-assistant">
423 <primary sortas="b-assistant">assistant</primary>
424 </indexterm>
425 </listitem>
426 </varlistentry>
427
428 <varlistentry id="qt-designer">
429 <term><command>designer</command></term>
430 <listitem>
431 <para>
432 is a full-fledged GUI builder. It includes
433 powerful features such as preview mode, automatic widget
434 layout, support for custom widgets, and an advanced
435 property editor.
436 </para>
437 <indexterm zone="qt4 qt-designer">
438 <primary sortas="b-designer">designer</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="qt-linguist">
444 <term><command>linguist</command></term>
445 <listitem>
446 <para>
447 provides support for translating applications into
448 local languages.
449 </para>
450 <indexterm zone="qt4 qt-linguist">
451 <primary sortas="b-linguist">linguist</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456 <varlistentry id="qt-lrelease">
457 <term><command>lrelease</command></term>
458 <listitem>
459 <para>
460 is a simple command line tool. It reads a Qt project
461 file and produces message files used by the application.
462 </para>
463 <indexterm zone="qt4 qt-lrelease">
464 <primary sortas="b-lrelease">lrelease</primary>
465 </indexterm>
466 </listitem>
467 </varlistentry>
468
469 <varlistentry id="qt-lupdate">
470 <term><command>lupdate</command></term>
471 <listitem>
472 <para>
473 reads a Qt project file, finds the translatable
474 strings in the specified source, header and Qt Designer
475 interface files, and produces or updates the translation
476 files listed in the project file.
477 </para>
478 <indexterm zone="qt4 qt-lupdate">
479 <primary sortas="b-lupdate">lupdate</primary>
480 </indexterm>
481 </listitem>
482 </varlistentry>
483
484 <varlistentry id="qt-moc">
485 <term><command>moc</command></term>
486 <listitem>
487 <para>
488 generates Qt meta object support code.
489 </para>
490 <indexterm zone="qt4 qt-moc">
491 <primary sortas="b-moc">moc</primary>
492 </indexterm>
493 </listitem>
494 </varlistentry>
495
496 <varlistentry id="qt-pixeltool">
497 <term><command>pixeltool</command></term>
498 <listitem>
499 <para>
500 is a desktop magnifier and as you move your mouse around
501 the screen it will show the magnified contents in its window.
502 </para>
503 <indexterm zone="qt4 qt-pixeltool">
504 <primary sortas="b-pixeltool">pixeltool</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508
509 <varlistentry id="qt-qmake">
510 <term><command>qmake</command></term>
511 <listitem>
512 <para>
513 uses information stored in project files to
514 determine what should go in the makefiles it
515 generates.
516 </para>
517 <indexterm zone="qt4 qt-qmake">
518 <primary sortas="b-qmake">qmake</primary>
519 </indexterm>
520 </listitem>
521 </varlistentry>
522
523 <varlistentry id="qt-qt3to4">
524 <term><command>qt3to4</command></term>
525 <listitem>
526 <para>
527 qt3to4 is a tool to help update Qt3 code to Qt4.
528 </para>
529 <indexterm zone="qt4 qt-qt3to4">
530 <primary sortas="b-qt3to4">qt3to4</primary>
531 </indexterm>
532 </listitem>
533 </varlistentry>
534
535 <varlistentry id="qt-qtconfig">
536 <term><command>qtconfig</command></term>
537 <listitem>
538 <para>
539 is used to customize the appearance of Qt applications.
540 </para>
541 <indexterm zone="qt4 qt-qtconfig">
542 <primary sortas="b-qtconfig">qtconfig</primary>
543 </indexterm>
544 </listitem>
545 </varlistentry>
546
547 <varlistentry id="qt-rcc">
548 <term><command>rcc</command></term>
549 <listitem>
550 <para>
551 is a resource compiler used in conjunction with designer.
552 </para>
553 <indexterm zone="qt4 qt-rcc">
554 <primary sortas="b-rcc">rcc</primary>
555 </indexterm>
556 </listitem>
557 </varlistentry>
558
559 <varlistentry id="qt-uic">
560 <term><command>uic</command></term>
561 <listitem>
562 <para>
563 is a Qt user interface compiler.
564 </para>
565 <indexterm zone="qt4 qt-uic">
566 <primary sortas="b-uic">uic</primary>
567 </indexterm>
568 </listitem>
569 </varlistentry>
570
571 <varlistentry id="qt-uic3">
572 <term><command>uic3</command></term>
573 <listitem>
574 <para>
575 is a tool to generate Qt4 code out of
576 user interface files generated by the Qt3
577 version of designer.
578 </para>
579 <indexterm zone="qt4 qt-uic3">
580 <primary sortas="b-uic3">uic3</primary>
581 </indexterm>
582 </listitem>
583 </varlistentry>
584
585 </variablelist>
586
587 </sect2>
588
589</sect1>
Note: See TracBrowser for help on using the repository browser.