source: x/lib/qt5.xml@ 834937d

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

add a dep to qt5

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

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