source: x/lib/qt5.xml@ a6c6923

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

qt4 fixes

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

  • Property mode set to 100644
File size: 20.1 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 qt5-major "5.1">
8 <!ENTITY qt5-url "http://download.qt-project.org/official_releases/qt/&qt5-major;/&qt5-version;/single">
9
10 <!ENTITY qt5-download-http "&qt5-url;/qt-everywhere-opensource-src-&qt5-version;.tar.xz">
11 <!ENTITY qt5-download-ftp " ">
12 <!ENTITY qt5-md5sum "44a507beebef73eb364b5a2ec7bbe090">
13 <!ENTITY qt5-size "169 MB">
14 <!ENTITY qt5-buildsize "2.5 GB">
15 <!ENTITY qt5-time "50 SBU">
16]>
17
18<sect1 id="qt5" xreflabel="Qt-&qt5-version;">
19 <?dbhtml filename="qt5.html" ?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>Qt-&qt5-version;</title>
27
28 <indexterm zone="qt5">
29 <primary sortas="a-Qt">Qt</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to Qt</title>
34
35 <para>
36 <application>Qt</application> is a cross-platform application
37 framework that is widely used for developing application software
38 with a graphical user interface (GUI) (in which cases Qt is classified
39 as a widget toolkit), and also used for developing non-GUI programs such
40 as command-line tools and consoles for servers. One of the major users
41 of <application>Qt</application> is <application>KDE</application>.
42 </para>
43
44 &lfs73_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&qt5-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&qt5-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &qt5-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &qt5-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &qt5-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &qt5-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Qt Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="alsa-lib"/>,
85 <xref linkend="mesalib"/>,
86 <xref linkend="qtchooser"/>,
87 <xref linkend="xcb-util-image"/>,
88 <xref linkend="xcb-util-keysyms"/>,
89 <xref linkend="xcb-util-renderutil"/>, and
90 <xref linkend="xcb-util-wm"/>
91 </para>
92
93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
95 <xref linkend="cacerts"/>,
96 <xref linkend="cups"/>,
97 <xref linkend="dbus"/>,
98 <xref linkend="glib2"/>,
99 <xref linkend="gst-plugins-base"/>,
100 <xref linkend="icu"/>,
101 <xref linkend="libjpeg"/>,
102 <xref linkend="libmng"/>,
103 <xref linkend="libpng"/>,
104 <xref linkend="libtiff"/>,
105 <xref linkend="openssl"/>,
106 <xref linkend="pcre"/>, and
107 <xref linkend="sqlite"/>
108 </para>
109
110 <bridgehead renderas="sect4">Optional</bridgehead>
111 <para role="optional">
112 <xref linkend="gst10-plugins-base"/> (QtWebKit HTML5 Video Support),
113 <xref linkend="gtk2"/> (GTK+ Theme Support),
114 <ulink url="http://xkbcommon.org/">libxkbcommon</ulink>,
115 <xref linkend="mysql"/>,
116 <xref linkend="postgresql"/>,
117 <xref linkend="pulseaudio"/>, and
118 <xref linkend="unixodbc"/>
119 </para>
120
121 <para condition="html" role="usernotes">User Notes:
122 <ulink url="&blfs-wiki;/qt5"/>
123 </para>
124 </sect2>
125
126 <sect2 role="installation">
127 <title>Installation of Qt</title>
128
129 <warning>
130 <para>
131 If you did not install some of the recommended dependencies, examine
132 <command>./configure --help</command> output to check how to disable
133 them or use internal versions bundled in the source tarball.
134 </para>
135 </warning>
136
137 <para>
138 Install <application>Qt</application> by running the
139 following commands:
140 </para>
141
142<screen><userinput>sed -i "s:Context\* context}:&amp;\n%lex-param {YYLEX_PARAM}:" \
143 qtwebkit/Source/ThirdParty/ANGLE/src/compiler/glslang.y &amp;&amp;
144
145sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \
146 qtimageformats/config.tests/libmng/libmng.cpp &amp;&amp;
147
148./configure -prefix /usr \
149 -sysconfdir /etc/xdg \
150 -bindir /usr/lib/qt5/bin \
151 -headerdir /usr/include/qt5 \
152 -archdatadir /usr/lib/qt5 \
153 -datadir /usr/share/qt5 \
154 -docdir /usr/share/doc/qt5 \
155 -translationdir /usr/share/qt5/translations \
156 -examplesdir /usr/share/doc/qt5/examples \
157 -confirm-license \
158 -opensource \
159 -dbus-linked \
160 -openssl-linked \
161 -system-sqlite \
162 -no-nis \
163 -nomake examples \
164 -opengl es2 \
165 -optimized-qmake &amp;&amp;
166make</userinput></screen>
167
168 <para>
169 Remove references to the build directory from the installed
170 <filename class="extension">.pc</filename> files by running
171 the following command:
172 </para>
173
174<screen><userinput>find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \;</userinput></screen>
175
176 <para>
177 This package does not come with a test suite.
178 </para>
179
180 <para>
181 Now, as the <systemitem class="username">root</systemitem> user:
182 </para>
183
184<screen role="root"><userinput>make install &amp;&amp;
185install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
186 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
187install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
188 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
189install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
190 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
191install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
192 /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
193
194 <para>
195 Remove references to the build directory from installed files by
196 running the following commands as the
197 <systemitem class="username">root</systemitem> user:
198 </para>
199
200<screen role="root"><userinput>sed -i -e "s:$PWD/qtbase:/usr/lib/qt5:g" \
201 /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap.pri &amp;&amp;
202find /usr/lib/*.prl -exec sed -i -e \
203 '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;</userinput></screen>
204
205 <para>
206 Symlink the <application>Qt</application> executables into
207 <filename class="directory">/usr/bin</filename> by running the
208 following commands as the
209 <systemitem class="username">root</systemitem> user:
210 </para>
211
212<screen role="root"><userinput>for file in /usr/lib/qt5/bin/*
213do
214 ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5
215done</userinput></screen>
216
217 </sect2>
218
219 <sect2 role="installation">
220 <title>Alternate Qt Installation Instructions</title>
221
222 <para>
223 This section provides an alternate way to install Qt by installing
224 almost all of the files in the <filename class="directory">/opt</filename>
225 directory. This allows management of all Qt related files in one unit.
226 For instance, a new version of Qt5 can be installed without over-writing
227 the existing installation and entire Qt5 instances can be easily removed.
228 However, it has the disadvantage of needing some extra configuration.
229 </para>
230
231<screen><userinput>patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch &amp;&amp;
232
233QT5DIR=/opt/qt-&qt5-version;
234
235./configure -prefix $QT5DIR \
236 -sysconfdir /etc/xdg \
237 -confirm-license \
238 -opensource \
239 -dbus-linked \
240 -openssl-linked \
241 -system-sqlite \
242 -plugin-sql-sqlite \
243 -no-nis \
244 -nomake examples \
245 -opengl es2 \
246 -optimized-qmake &amp;&amp;
247make</userinput></screen>
248
249 <para>
250 Now, as the <systemitem class="username">root</systemitem> user:
251 </para>
252
253<screen role="root"><userinput>make install &amp;&amp;
254
255install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
256 /usr/share/pixmaps/assistant-qt5.png &amp;&amp;
257install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
258 /usr/share/pixmaps/designer-qt5.png &amp;&amp;
259install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
260 /usr/share/pixmaps/linguist-qt5.png &amp;&amp;
261install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
262 /usr/share/pixmaps/qdbusviewer-qt5.png</userinput></screen>
263
264 <para>
265 Remove references to the build directory from installed files by
266 running the following commands as the
267 <systemitem class="username">root</systemitem> user:
268 </para>
269
270<screen role="root"><userinput>find $QT5DIR -name qt_lib_bootstrap.pri \
271 -exec sed -i -e "s:$PWD/qtbase:/$QT5DIR/lib/:g" {} \; &amp;&amp;
272
273find $QT5DIR -name \*.prl \
274 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
275
276 <para>
277 Symlink the <application>Qt</application> executables into
278 <filename class="directory">/usr/bin</filename> by running the
279 following commands as the
280 <systemitem class="username">root</systemitem> user:
281 </para>
282
283<screen role="root"><userinput>ln -svf $QT5DIR /opt/qt5 &amp;&amp;
284
285for file in /opt/qt5/bin/*; do
286 ln -sfv $file /usr/bin/$(basename $file)-qt5
287done</userinput></screen>
288
289 <para>
290 At this point is is useful to add some configuration items as
291 the <systemitem class="username">root</systemitem> user:
292 </para>
293
294<screen role="root"><userinput>echo /opt/qt5 &gt;&gt; /etc/ld.so.conf &amp;&amp;
295ldconfig &amp;&amp;
296
297cat &gt;&gt; /etc/profile.d/qt5.sh &lt;&lt; "EOF"
298pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH
299EOF</userinput></screen>
300
301 </sect2>
302
303 <sect2 role="commands">
304 <title>Command Explanations</title>
305
306 <para>
307 <command>sed -i "..." ...</command>: First command fixes
308 building with <application>Bison</application> 3.0 and
309 second command fixes detection of
310 <application>libmng</application> 2.0.
311 </para>
312
313 <para>
314 <parameter>-confirm-license</parameter>: Accept license
315 without prompting user during configuration.
316 </para>
317
318 <para>
319 <parameter>-opensource</parameter>: Install the opensource
320 version of <application>Qt</application>.
321 </para>
322
323 <para>
324 <parameter>-release</parameter>: This switch disables
325 building with debugging symbols.
326 </para>
327
328 <para>
329 <parameter>-nomake examples</parameter>: This switch
330 disables building of the example programs included
331 in the source tarball. Remove it if you want to build
332 them.
333 </para>
334
335 <para>
336 <parameter>-system-sqlite</parameter>: This switch enables use
337 of the system version of <application>SQLite</application>.
338 </para>
339
340 <para>
341 <parameter>-no-nis</parameter>: This switch disables support
342 for Network Information Service (NIS) which has been
343 removed from recent versions of <application>Glibc</application>.
344 </para>
345
346 <para>
347 <parameter>-dbus-linkend -openssl-linkend</parameter>: These
348 switches enable explicit linking of the
349 <application>D-Bus</application> and
350 <application>OpenSSL</application> libraries into
351 <application>Qt</application> libraries instead of
352 <command>dlopen()</command>-ing them.
353 </para>
354
355 <para>
356 <parameter>-opengl es2</parameter>: This switch enables OpenGL ES2
357 support in <application>Qt</application>.
358 </para>
359
360 <para>
361 <parameter>-optimized-qmake</parameter>: This switch enables
362 building of the optimized <command>qmake</command> program.
363 </para>
364
365 </sect2>
366
367 <sect2 role="configuration">
368 <title>Configuring Qt</title>
369
370 <sect3 id="qt5-config">
371 <title>Configuration Information</title>
372
373 <para>
374 Create the menu entries for installed applications.
375 As the <systemitem class="username">root</systemitem> user:
376 </para>
377
378<screen role="root"><userinput>install -dm755 /usr/share/applications
379cat &gt; /usr/share/applications/assistant-qt5.desktop &lt;&lt; "EOF"
380<literal>[Desktop Entry]
381Name=Qt5 Assistant
382Comment=Shows Qt5 documentation and examples
383Exec=assistant-qt5
384Icon=assistant-qt5
385Terminal=false
386Encoding=UTF-8
387Type=Application
388Categories=Qt;Development;Documentation;</literal>
389EOF
390cat &gt; /usr/share/applications/designer-qt5.desktop &lt;&lt; "EOF"
391<literal>[Desktop Entry]
392Name=Qt5 Designer
393GenericName=Interface Designer
394Comment=Design GUIs for Qt5 applications
395Exec=designer-qt5
396Icon=designer-qt5
397MimeType=application/x-designer;
398Terminal=false
399Encoding=UTF-8
400Type=Application
401Categories=Qt;Development;</literal>
402EOF
403cat &gt; /usr/share/applications/linguist-qt5.desktop &lt;&lt; "EOF"
404<literal>[Desktop Entry]
405Name=Qt5 Linguist
406Comment=Add translations to Qt5 applications
407Exec=linguist-qt5
408Icon=linguist-qt5
409MimeType=text/vnd.trolltech.linguist;application/x-linguist;
410Terminal=false
411Encoding=UTF-8
412Type=Application
413Categories=Qt;Development;</literal>
414EOF
415cat &gt; /usr/share/applications/qdbusviewer-qt5.desktop &lt;&lt; "EOF"
416<literal>[Desktop Entry]
417Name=Qt5 QDbusViewer
418GenericName=D-Bus Debugger
419Comment=Debug D-Bus applications
420Exec=qdbusviewer-qt5
421Icon=qdbusviewer-qt5
422Terminal=false
423Encoding=UTF-8
424Type=Application
425Categories=Qt;Development;Debugger;</literal>
426EOF</userinput></screen>
427
428 </sect3>
429
430 </sect2>
431
432 <sect2 role="content">
433 <title>Contents</title>
434
435 <segmentedlist>
436 <segtitle>Installed Programs</segtitle>
437 <segtitle>Installed Libraries</segtitle>
438 <segtitle>Installed Directories</segtitle>
439
440 <seglistitem>
441 <seg>
442 assistant-qt5, designer-qt5, lconvert-qt5, linguist-qt5, lrelease-qt5,
443 lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5,
444 qdbuscpp2xml-qt5, qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5,
445 qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5,
446 qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5,
447 qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5,
448 xmlpatterns-qt5 and xmlpatternsvalidator-qt5
449 </seg>
450 <seg>
451 libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so,
452 libQt5Core.so, libQt5DBus.so, libQt5Declarative.so, libQt5DesignerComponents.so,
453 libQt5Designer.so, libQt5Gui.so, libQt5Help.so, libQt5MultimediaQuick_p.so,
454 libQt5Multimedia.so, libQt5MultimediaWidgets.so, libQt5Network.so,
455 libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PlatformSupport.a,
456 libQt5PrintSupport.so, libQt5QmlDevTools.a, libQt5Qml.so, libQt5QuickParticles.so,
457 libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so,
458 libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so,
459 libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so,
460 libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so and libQt5Xml.so
461 </seg>
462 <seg>
463 /usr/include/qt5,
464 /usr/lib/qt5,
465 /usr/share/doc/qt5 and
466 /usr/share/qt5
467 </seg>
468 </seglistitem>
469 </segmentedlist>
470
471 <variablelist>
472 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
473 <?dbfo list-presentation="list"?>
474 <?dbhtml list-presentation="table"?>
475
476 <varlistentry id="assistant-qt5">
477 <term><command>assistant-qt5</command></term>
478 <listitem>
479 <para>
480 is a tool for presenting on-line documentation.
481 </para>
482 <indexterm zone="qt5 assistant-qt5">
483 <primary sortas="b-assistant-qt5">assistant-qt5</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="designer-qt5">
489 <term><command>designer-qt5</command></term>
490 <listitem>
491 <para>
492 is a full-fledged GUI builder. It includes
493 powerful features such as preview mode, automatic widget
494 layout, support for custom widgets, and an advanced
495 property editor.
496 </para>
497 <indexterm zone="qt5 designer-qt5">
498 <primary sortas="b-designer-qt5">designer-qt5</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 <varlistentry id="linguist-qt5">
504 <term><command>linguist-qt5</command></term>
505 <listitem>
506 <para>
507 provides support for translating applications into
508 local languages.
509 </para>
510 <indexterm zone="qt5 linguist-qt5">
511 <primary sortas="b-linguist-qt5">linguist-qt5</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 <varlistentry id="lrelease-qt5">
517 <term><command>lrelease-qt5</command></term>
518 <listitem>
519 <para>
520 is a simple command line tool. It reads a Qt project
521 file and produces message files used by the application.
522 </para>
523 <indexterm zone="qt5 lrelease-qt5">
524 <primary sortas="b-lrelease-qt5">lrelease-qt5</primary>
525 </indexterm>
526 </listitem>
527 </varlistentry>
528
529 <varlistentry id="lupdate-qt5">
530 <term><command>lupdate-qt5</command></term>
531 <listitem>
532 <para>
533 reads a Qt project file, finds the translatable
534 strings in the specified source, header and Qt Designer
535 interface files, and produces or updates the translation
536 files listed in the project file.
537 </para>
538 <indexterm zone="qt5 lupdate-qt5">
539 <primary sortas="b-lupdate-qt5">lupdate-qt5</primary>
540 </indexterm>
541 </listitem>
542 </varlistentry>
543
544 <varlistentry id="moc-qt5">
545 <term><command>moc-qt5</command></term>
546 <listitem>
547 <para>
548 generates Qt meta object support code.
549 </para>
550 <indexterm zone="qt5 moc-qt5">
551 <primary sortas="b-moc-qt5">moc-qt5</primary>
552 </indexterm>
553 </listitem>
554 </varlistentry>
555
556 <varlistentry id="pixeltool-qt5">
557 <term><command>pixeltool-qt5</command></term>
558 <listitem>
559 <para>
560 is a desktop magnifier and as you move your mouse around
561 the screen it will show the magnified contents in its window.
562 </para>
563 <indexterm zone="qt5 pixeltool-qt5">
564 <primary sortas="b-pixeltool-qt5">pixeltool-qt5</primary>
565 </indexterm>
566 </listitem>
567 </varlistentry>
568
569 <varlistentry id="qmake-qt5">
570 <term><command>qmake-qt5</command></term>
571 <listitem>
572 <para>
573 uses information stored in project files to
574 determine what should go in the makefiles it
575 generates.
576 </para>
577 <indexterm zone="qt5 qmake-qt5">
578 <primary sortas="b-qmake-qt5">qmake-qt5</primary>
579 </indexterm>
580 </listitem>
581 </varlistentry>
582
583 <varlistentry id="rcc-qt5">
584 <term><command>rcc-qt5</command></term>
585 <listitem>
586 <para>
587 is a resource compiler used in conjunction with designer.
588 </para>
589 <indexterm zone="qt5 rcc-qt5">
590 <primary sortas="b-rcc-qt5">rcc-qt5</primary>
591 </indexterm>
592 </listitem>
593 </varlistentry>
594
595 <varlistentry id="uic-qt5">
596 <term><command>uic-qt5</command></term>
597 <listitem>
598 <para>
599 is a Qt user interface compiler.
600 </para>
601 <indexterm zone="qt5 uic-qt5">
602 <primary sortas="b-uic-qt5">uic-qt5</primary>
603 </indexterm>
604 </listitem>
605 </varlistentry>
606
607 </variablelist>
608
609 </sect2>
610
611</sect1>
Note: See TracBrowser for help on using the repository browser.