source: x/lib/qtbase.xml@ b7e41a4d

qt5new
Last change on this file since b7e41a4d was b7e41a4d, checked in by Pierre Labastie <pieere@…>, 3 years ago

Last round of dependency update for qtbase

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/qt5new@23994 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 13.8 KB
RevLine 
[6929000d]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 qtbase-download-http "&qt5-url;/qtbase-everywhere-src-&qt5-version;.tar.xz">
8 <!ENTITY qtbase-download-ftp " ">
9 <!ENTITY qtbase-md5sum "0eb522ff6c2194f9690cbdcd5b33e803">
10 <!ENTITY qtbase-size "48 MB">
11 <!ENTITY qtbase-buildsize "4.4 GB (145 MB installed)">
12 <!ENTITY qtbase-time "64 SBU (Using parallelism=4)">
13]>
14
15<sect1 id="qtbase" xreflabel="qtbase-&qt5-version;">
16 <?dbhtml filename="qtbase.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Qt-&qt5-version; Base</title>
24
25 <indexterm zone="qtbase">
26 <primary sortas="a-qtbase">qtbase</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Qt Library</title>
31
32 <para>
33 <application>Qt5</application> is a cross-platform application framework
34 that is widely used for developing application software with a graphical
35 user interface (GUI) (in which cases <application>Qt5</application> is
36 classified as a widget toolkit), and also used for developing non-GUI
37 programs such as command-line tools and consoles for servers. One of the
38 major users of <application>Qt</application> is <application>KDE
39 Frameworks 5 (KF5)</application>.
40 </para>
41
42 <para>
43 <application>Qt5</application> is made of several modules, which are not
44 all necessary for a given application. It has its own building tool
45 (<command>qmake</command>), and provides a complete development
46 environment. The instructions on this page allow to set up that
47 environment and to build basic modules.
48 </para>
49
50 &lfs10_checked;
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&qtbase-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&qtbase-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &qtbase-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &qtbase-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &qtbase-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &qtbase-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
[b7e41a4d]86 <bridgehead renderas="sect3">Qtbase Dependencies</bridgehead>
[6929000d]87
88 <bridgehead renderas="sect4">Required</bridgehead>
89 <para role="required">
90 <xref linkend='xorg7-lib'/>
91 </para>
92
93 <bridgehead renderas="sect4">Recommended</bridgehead>
94
95 <para role="recommended">
96 <xref linkend="cups"/>,
[eca919c]97 <xref linkend="double-conversion"/>,
[6929000d]98 <xref linkend="glib2"/>,
99 <xref linkend="harfbuzz"/>,
100 <xref linkend="icu"/>,
[eca919c]101 <xref linkend="libinput"/>,
[6929000d]102 <xref linkend="libjpeg"/>,
103 <xref linkend="libpng"/>,
104 <xref linkend="libxkbcommon"/>,
105 <xref linkend="mesa"/>,
106 <xref linkend="mitkrb"/>,
107 <xref linkend="mtdev"/>,
108 <xref linkend="pcre2"/>,
109 <xref linkend="sqlite"/>,
[eca919c]110 <xref linkend="xcb-util-image"/>,
[b7e41a4d]111 <xref linkend="xcb-util-keysyms"/>,
112 <xref linkend="xcb-util-renderutil"/>, and
[6929000d]113 <xref linkend="xcb-util-wm"/>
114 </para>
115
116 <bridgehead renderas="sect4">Optional</bridgehead>
117 <para role="optional">
[b7e41a4d]118 <xref linkend="at-spi2-core"/>,
[6929000d]119 <xref linkend="gtk3"/>,
120 <xref linkend="ibus"/>,
121 <xref linkend="libinput"/>,
122 <xref linkend="mariadb"/>
123 or <ulink url="http://www.mysql.com/">MySQL</ulink>,
124 <xref linkend="postgresql"/>,
125 <xref linkend="unixodbc"/>,
126 <ulink url="http://www.firebirdsql.org/">Firebird</ulink>,
127 <ulink url="http://www.freetds.org/">FreeTDS</ulink>,
128 <ulink url="https://github.com/mity/md4c/">libmd4c</ulink>,
129 <ulink url="https://openal.org/">OpenAL</ulink>,
130 <ulink url="https://www.khronos.org/openvg/">openvg</ulink>,
131 <ulink url="http:///www.tslib.org/">tslib</ulink>, and
132 <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>
133 </para>
134
135 <para condition="html" role="usernotes">
136 User Notes: <ulink url="&blfs-wiki;/qtbase"/>
137 </para>
138 </sect2>
139
140 <sect2 role="qt5-prefix">
141 <title>Setting the installation prefix</title>
142
143 <bridgehead renderas="sect3">Installing in /opt/qt5</bridgehead>
144
145 <para>
146 The BLFS editors recommend installing <application>Qt5</application> in a
147 directory other than <filename class="directory">/usr</filename>, ie
148 <filename class="directory">/opt/qt5</filename>. To do this, set the
149 following environment variable:
150 </para>
151
152<screen><userinput>export QT5PREFIX=/opt/qt5</userinput></screen>
153
154 <tip>
155 <para>
156 Sometimes, the installation paths are hardcoded into installed files.
157 This is the reason why <filename class="directory">/opt/qt5</filename>
158 is used as installation prefix instead of <filename
159 class="directory">/opt/qt-&qt5-version;</filename>. To create a
160 versioned <application>Qt5</application> directory after the
161 installation is complete, you may rename the directory and create a
162 symlink:
163 </para>
164
165<screen role="root"><userinput>mkdir /opt/qt-&qt5-version;
166ln -sfnv qt-&qt5-version; /opt/qt5</userinput></screen>
167
168 <para>
169 Later on, you may want to install other versions of
170 <application>Qt5</application>. To do that, just remove the symlink
171 and use <filename class="directory">/opt/qt5</filename> as the
172 prefix again. Which version of <application>Qt5</application> you
173 use depends only on where the symlink points.
174 </para>
175 </tip>
176
177 </sect2>
178
179 <sect2 role="installation">
180 <title>Installation of qtbase</title>
181
182 <warning>
183 <para>
184 If <application>Qt5</application> is being reinstalled into the
185 same directory as an existing instance, run the commands done by
186 <systemitem class="username">root</systemitem>, such as
187 <command>make install</command>, from a console or non-Qt5 based
188 window manager. It overwrites <application>Qt5</application>
189 libraries that should not be in use during the install process.
190 </para>
191 </warning>
192
193 <caution>
194 <para>
195 If you did not install some of the recommended dependencies, examine
196 <command>./configure --help</command> output to check how to disable
197 them or use internal versions bundled in the source tarball.
198 </para>
199 </caution>
200
201 <note>
202 <para>
203 The BLFS editors do not recommend installing <application>Qt5</application>
204 into the /usr hierarchy because it becomes difficult to find
205 components and to update to a new version. If you do want to install
206 <application>Qt5</application> in /usr, the directories need to
207 be specified explicitly. In this case, set QT5PREFIX=/usr and add
208 the following to the configure arguments below:
209 </para>
210
211<screen role="nodump"><userinput> -archdatadir /usr/lib/qt5 \
212 -bindir /usr/bin \
213 -plugindir /usr/lib/qt5/plugins \
214 -importdir /usr/lib/qt5/imports \
215 -headerdir /usr/include/qt5 \
216 -datadir /usr/share/qt5 \
217 -docdir /usr/share/doc/qt5 \
218 -translationdir /usr/share/qt5/translations \
219 -examplesdir /usr/share/doc/qt5/examples</userinput></screen>
220 </note>
221
222 <para>
223 Install <application>qtbase</application> by running the following
224 commands:
225 </para>
226
227<screen><userinput>./configure -prefix $QT5PREFIX \
228 -sysconfdir /etc/xdg \
229 -confirm-license \
230 -opensource \
231 -dbus-linked \
232 -openssl-linked \
233 -system-sqlite \
234 -nomake examples \
235 -no-rpath &amp;&amp;
236make</userinput></screen>
237
238 <para>
239 This package does not come with a test suite.
240 </para>
241
242 <para>
243 Now, as the <systemitem class="username">root</systemitem> user:
244 </para>
245
246<screen role="root"><userinput>make install</userinput></screen>
247 <!-- EDITORS NOTE: If you are updating this package, use INSTALL_ROOT=
248 instead of DESTDIR= -->
249
250 <para>
251 Remove references to the build directory from installed library
252 dependency (prl) files by running the following
253 commands as the <systemitem class="username">root</systemitem> user:
254 </para>
255
256<screen role="root"><userinput>find $QT5DIR/ -name \*.prl \
257 -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
258 </sect2>
259
260 <sect2 role="commands">
261 <title>Command Explanations</title>
262
263 <para>
264 <parameter>-confirm-license</parameter>: Accept license
265 without prompting user during configuration.
266 </para>
267
268 <para>
269 <parameter>-opensource</parameter>: Install the opensource
270 version of <application>Qt</application>.
271 </para>
272
273 <para>
274 <parameter>-nomake examples</parameter>: This switch
275 disables building of the example programs included
276 in the source tarball. Remove it if you want to build
277 them.
278 </para>
279
280 <para>
281 <parameter>-system-sqlite</parameter>: This switch enables use
282 of the system version of <application>SQLite</application>.
283 </para>
284
285 <para>
286 <parameter>-system-sqlite</parameter>: This switch enables use
287 of the system version of <application>SQLite</application>.
288 </para>
289
290 <para>
291 <parameter>-dbus-linked -openssl-linked</parameter>: These
292 switches enable explicit linking of the
293 <application>D-Bus</application> and
294 <application>OpenSSL</application> libraries into
295 <application>Qt5</application> libraries instead of
296 <command>dlopen()</command>-ing them.
297 </para>
298
299 </sect2>
300
301 <sect2 role="configuration">
302 <title>Configuring qtbase</title>
303
304 <sect3 id="qtbase-config">
305 <title>Configuration Information</title>
306
307 <para>
308 If you installed <application>qtbase</application> in
309 <filename class="directory">/usr</filename>, create an
310 environment variable needed by certain packages.
311 As the <systemitem class="username">root</systemitem> user:
312 </para>
313
314<screen role="nodump"><userinput>cat &gt; /etc/profile.d/qtbase.sh &lt;&lt; "EOF"
315<literal># Begin /etc/profile.d/qtbase.sh
316
317QT5DIR=/usr
318export QT5DIR
319
320# End /etc/profile.d/qtbase.sh</literal>
321EOF</userinput></screen>
322
323 <para>
324 If <xref linkend="sudo"/> is installed, QT5DIR should be available to
325 the super user as well. Execute the following commands as the
326 <systemitem class="username">root</systemitem> user:
327 </para>
328
329<screen role="root"><userinput>cat &gt; /etc/sudoers.d/qt &lt;&lt; "EOF"
330<literal>Defaults env_keep += QT5DIR</literal>
331EOF</userinput></screen>
332
333 <para>
334 If you installed <application>qtbase</application> in a location other
335 than <filename class="directory">/usr</filename>, you need to update the
336 following configuration files so that <application>qtbase</application>
337 is correctly found by other packages and system processes.
338 </para>
339
340 <para>
341 As the <systemitem class="username">root</systemitem> user, update
342 the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
343 run-time cache file:
344 </para>
345
346<screen role="root"><userinput>cat &gt;&gt; /etc/ld.so.conf &lt;&lt; EOF
347<literal># Begin Qt addition
348
349/opt/qt5/lib
350
351# End Qt addition</literal>
352EOF
353
354ldconfig</userinput></screen>
355
356 <indexterm zone="qtbase qtbase-config">
357 <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
358 </indexterm>
359
360 <para>
361 As the <systemitem class="username">root</systemitem> user, create
362 the <filename>/etc/profile.d/qtbase.sh</filename> file:
363 </para>
364
365<screen role="root"><userinput>cat &gt; /etc/profile.d/qtbase.sh &lt;&lt; "EOF"
366<literal># Begin /etc/profile.d/qtbase.sh
367
368QT5DIR=/opt/qt5
369
370pathappend $QT5DIR/bin PATH
371pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH
372
373export QT5DIR
374
375# End /etc/profile.d/qtbase.sh</literal>
376EOF</userinput></screen>
377
378 </sect3>
379
380 </sect2>
381
382
383 <sect2 role="content">
384 <title>Contents</title>
385
386 <segmentedlist>
387 <segtitle>Installed Programs</segtitle>
388 <segtitle>Installed Libraries</segtitle>
389 <segtitle>Installed Directories</segtitle>
390
391 <seglistitem>
392 <seg>
393 qtwebengine_convert_dict and
394 QtWebEngineProcess (in $QT5DIR/libexec)
395 </seg>
396 <seg>
397 libQt5Pdf.so,
398 libQt5PdfWidgets.so,
399 libQt5WebEngineCore.so,
400 libQt5WebEngine.so, and
401 libQt5WebEngineWidgets.so
402 </seg>
403 <seg>
404 $QT5DIR/include/QtPdf,
405 $QT5DIR/include/QtPdfWidgets,
406 $QT5DIR/include/QtWebEngine,
407 $QT5DIR/include/QtWebEngineCore,
408 $QT5DIR/include/QtWebEngineWidgets,
409 $QT5DIR/qml/QtWebEngine, and
410 $QT5DIR/translations/qtwebengine_locales
411 </seg>
412 </seglistitem>
413 </segmentedlist>
414
415<!-- <variablelist>
416 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
417 <?dbfo list-presentation="list"?>
418 <?dbhtml list-presentation="table"?>
419
420 </variablelist>-->
421 </sect2>
422</sect1>
Note: See TracBrowser for help on using the repository browser.