source: x/lib/qt4.xml@ 8d4b121

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

Add qtchooser

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

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