[ab4fdfc] | 1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
[cff158f] | 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.15">
|
---|
| 8 | <!ENTITY qt5-url "https://download.qt.io/archive/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 " ">
|
---|
[8525524b] | 12 | <!ENTITY qt5-md5sum "3fb1cd4f763f5d50d491508b7b99fb77">
|
---|
[775d5f4] | 13 | <!ENTITY qt5-size "630 MB">
|
---|
[8525524b] | 14 | <!ENTITY qt5-buildsize "8.5 GB (154 MB installed)">
|
---|
| 15 | <!ENTITY qt5-time "7.4 SBU (using parallelism=4)">
|
---|
[cff158f] | 16 | ]>
|
---|
| 17 |
|
---|
| 18 | <sect1 id="qt5-alternate" xreflabel="qt-alternate-&qt5-version;">
|
---|
| 19 | <?dbhtml filename="qt5-alternate.html" ?>
|
---|
| 20 |
|
---|
| 21 | <title>qt-alternate-&qt5-version;</title>
|
---|
| 22 |
|
---|
[d4919db] | 23 | <indexterm zone="qt5-alternate">
|
---|
| 24 | <primary sortas="a-Qt5-alternate">Qt Alternate</primary>
|
---|
[cff158f] | 25 | </indexterm>
|
---|
| 26 |
|
---|
| 27 | <sect2 role="package">
|
---|
| 28 | <title>Introduction to qt5 (alternate)</title>
|
---|
| 29 |
|
---|
| 30 | <para>
|
---|
| 31 | <application>Qt5</application> is a cross-platform application framework
|
---|
| 32 | that is widely used for developing application software with a graphical
|
---|
| 33 | user interface (GUI) (in which cases <application>qt5</application> is
|
---|
| 34 | classified as a widget toolkit), and also used for developing non-GUI
|
---|
[04f2bf4] | 35 | programs such as command-line tools and consoles for servers. Two of the
|
---|
| 36 | major users of <application>qt</application> are <application>KDE
|
---|
| 37 | Frameworks 5 (KF5)</application> and <application>LXQt</application>.
|
---|
[cff158f] | 38 | </para>
|
---|
| 39 |
|
---|
| 40 | <important>
|
---|
| 41 | <para>
|
---|
[6886d51] | 42 | The full <application>qt5</application> package consists of 43 separate
|
---|
[e440af5] | 43 | components. These instructions use a small subset of the full
|
---|
| 44 | <application>qt5</application> installation instructions above.
|
---|
| 45 | They cover most, but not all, of the components needed to build
|
---|
| 46 | packages in BLFS. This page, and the next, are provided to
|
---|
| 47 | reduce the amount of time, space, and dependencies needed
|
---|
[5bfcd23e] | 48 | to build these packages. <!--They are not recommended if you will build
|
---|
[6d8eeb9] | 49 | the <xref linkend="kf5- frameworks"/> based <xref linkend="plasma-build"/> desktop
|
---|
[5bfcd23e] | 50 | environment.-->
|
---|
[cff158f] | 51 | </para>
|
---|
| 52 | </important>
|
---|
| 53 |
|
---|
[c40076f] | 54 | &lfs121_checked;
|
---|
[cff158f] | 55 |
|
---|
| 56 | <bridgehead renderas="sect3">Package Information</bridgehead>
|
---|
| 57 | <itemizedlist spacing="compact">
|
---|
| 58 | <listitem>
|
---|
| 59 | <para>
|
---|
| 60 | Download (HTTP): <ulink url="&qt5-download-http;"/>
|
---|
| 61 | </para>
|
---|
| 62 | </listitem>
|
---|
| 63 | <listitem>
|
---|
| 64 | <para>
|
---|
| 65 | Download (FTP): <ulink url="&qt5-download-ftp;"/>
|
---|
| 66 | </para>
|
---|
| 67 | </listitem>
|
---|
| 68 | <listitem>
|
---|
| 69 | <para>
|
---|
| 70 | Download MD5 sum: &qt5-md5sum;
|
---|
| 71 | </para>
|
---|
| 72 | </listitem>
|
---|
| 73 | <listitem>
|
---|
| 74 | <para>
|
---|
| 75 | Download size: &qt5-size;
|
---|
| 76 | </para>
|
---|
| 77 | </listitem>
|
---|
| 78 | <listitem>
|
---|
| 79 | <para>
|
---|
| 80 | Estimated disk space required: &qt5-buildsize;
|
---|
| 81 | </para>
|
---|
| 82 | </listitem>
|
---|
| 83 | <listitem>
|
---|
| 84 | <para>
|
---|
| 85 | Estimated build time: &qt5-time;
|
---|
| 86 | </para>
|
---|
| 87 | </listitem>
|
---|
| 88 | </itemizedlist>
|
---|
| 89 |
|
---|
| 90 | <bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
---|
| 91 | <itemizedlist spacing="compact">
|
---|
| 92 | <listitem>
|
---|
| 93 | <para>
|
---|
| 94 | Now that <application>qt5</application> updates are restricted to
|
---|
| 95 | commercial customers, upstream patches for the various modules are
|
---|
| 96 | being curated at kde.
|
---|
| 97 | Patches for the modules required by packages in BLFS have been
|
---|
| 98 | aggregated for the non-modular qt5 build we use.
|
---|
| 99 | </para>
|
---|
| 100 | <para>
|
---|
| 101 | Required patch:
|
---|
| 102 | <ulink url="&patch-root;/qt-everywhere-opensource-src-&qt5-version;-kf5-1.patch"/>
|
---|
| 103 | </para>
|
---|
| 104 | <para>
|
---|
| 105 | Details of the kde curation can be found at
|
---|
| 106 | <ulink url="https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection"/>
|
---|
| 107 | and <ulink url="https://community.kde.org/Qt5PatchCollection"/>.
|
---|
| 108 | </para>
|
---|
| 109 | </listitem>
|
---|
[5f38a07] | 110 | <listitem>
|
---|
| 111 | <para>
|
---|
| 112 | Required patch:
|
---|
| 113 | <ulink url="&patch-root;/qt-everywhere-opensource-src-&qt5-version;-security_fix-1.patch"/>
|
---|
| 114 | </para>
|
---|
| 115 | </listitem>
|
---|
[cff158f] | 116 | </itemizedlist>
|
---|
| 117 |
|
---|
| 118 | <bridgehead renderas="sect3">qt5 Dependencies</bridgehead>
|
---|
| 119 |
|
---|
| 120 | <bridgehead renderas="sect4">Required</bridgehead>
|
---|
| 121 | <para role="required">
|
---|
| 122 | <xref linkend="xorg7-lib"/>
|
---|
| 123 | </para>
|
---|
| 124 |
|
---|
| 125 | <bridgehead renderas="sect4">Recommended</bridgehead>
|
---|
| 126 | <para role="recommended">
|
---|
| 127 | <xref linkend="alsa-lib"/>,
|
---|
[f30fd62] | 128 | <xref linkend="at-spi2-core"/>,
|
---|
[cff158f] | 129 | <xref linkend="cups"/>,
|
---|
[441801a] | 130 | <phrase revision='sysv'><xref linkend="dbus"/>,</phrase>
|
---|
[cff158f] | 131 | <xref linkend="double-conversion"/>,
|
---|
[441801a] | 132 | <xref linkend="glib2"/>,
|
---|
| 133 | <xref linkend="harfbuzz"/>,
|
---|
| 134 | <xref linkend="icu"/>,
|
---|
[cff158f] | 135 | <xref linkend="hicolor-icon-theme"/>,
|
---|
[441801a] | 136 | <xref linkend="mesa"/>,
|
---|
| 137 | <xref linkend="libjpeg"/>,
|
---|
[32936bc] | 138 | <xref linkend="libxkbcommon"/>,
|
---|
[441801a] | 139 | <xref linkend="sqlite"/>,
|
---|
| 140 | <xref linkend="wayland"/> (<application>Mesa</application>
|
---|
| 141 | must be built with <application>Wayland</application> EGL
|
---|
[d949cb0] | 142 | backend),
|
---|
| 143 | <xref linkend="xcb-util-image"/>,
|
---|
| 144 | <xref linkend="xcb-util-keysyms"/>,
|
---|
| 145 | <xref linkend="xcb-util-renderutil"/>, and
|
---|
| 146 | <xref linkend="xcb-util-wm"/>
|
---|
[cff158f] | 147 | </para>
|
---|
| 148 |
|
---|
| 149 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
| 150 | <para role="optional">
|
---|
[441801a] | 151 | <xref linkend="gtk3"/>,
|
---|
| 152 | <xref linkend="libinput"/>
|
---|
[cff158f] | 153 | <xref linkend="mariadb"/>
|
---|
| 154 | or <ulink url="https://www.mysql.com/">MySQL</ulink>,
|
---|
[441801a] | 155 | <xref linkend="mitkrb"/>,
|
---|
| 156 | <xref linkend="mtdev"/>
|
---|
[cff158f] | 157 | <xref linkend="postgresql"/>, and
|
---|
[441801a] | 158 | <xref linkend="unixodbc"/>
|
---|
[cff158f] | 159 | </para>
|
---|
[141e4450] | 160 |
|
---|
[cff158f] | 161 | </sect2>
|
---|
| 162 |
|
---|
| 163 | <sect2 role="qt5-prefix">
|
---|
| 164 | <title>Setting the installation prefix</title>
|
---|
| 165 |
|
---|
| 166 | <bridgehead renderas="sect3">Installing in /opt/qt5</bridgehead>
|
---|
| 167 |
|
---|
| 168 | <para>
|
---|
| 169 | The BLFS editors recommend installing <application>qt5</application> in a
|
---|
| 170 | directory other than <filename class="directory">/usr</filename>, i.e.
|
---|
| 171 | <filename class="directory">/opt/qt5</filename>. To do this, set the
|
---|
| 172 | following environment variable:
|
---|
| 173 | </para>
|
---|
| 174 |
|
---|
| 175 | <screen><userinput>export QT5PREFIX=/opt/qt5</userinput></screen>
|
---|
| 176 |
|
---|
| 177 | <tip>
|
---|
| 178 | <para>
|
---|
| 179 | Sometimes, the installation paths are hardcoded into installed files.
|
---|
| 180 | This is the reason why <filename class="directory">/opt/qt5</filename>
|
---|
| 181 | is used as installation prefix instead of <filename
|
---|
| 182 | class="directory">/opt/qt-&qt5-version;</filename>. To create a
|
---|
| 183 | versioned <application>qt5</application> directory after the
|
---|
| 184 | installation is complete, you may rename the directory and create a symlink:
|
---|
| 185 | </para>
|
---|
| 186 |
|
---|
| 187 | <screen role="root"><userinput>mkdir -pv /opt/qt-&qt5-version;
|
---|
| 188 | ln -sfnv qt-&qt5-version; /opt/qt5</userinput></screen>
|
---|
| 189 |
|
---|
| 190 | <para>
|
---|
| 191 | Later on, you may want to install other versions of
|
---|
| 192 | <application>qt5</application>. To do that, just remove the symlink
|
---|
| 193 | and use <filename class="directory">/opt/qt5</filename> as the
|
---|
| 194 | prefix again. Which version of <application>qt5</application> you
|
---|
| 195 | use depends only on where the symlink points.
|
---|
| 196 | </para>
|
---|
| 197 | </tip>
|
---|
| 198 |
|
---|
| 199 | </sect2>
|
---|
| 200 |
|
---|
| 201 | <sect2 role="installation">
|
---|
| 202 | <title>Installation of qt5</title>
|
---|
| 203 |
|
---|
| 204 | <warning>
|
---|
| 205 | <para>
|
---|
| 206 | If <application>qt5</application> is being reinstalled into the
|
---|
| 207 | same directory as an existing instance, run the commands done by
|
---|
| 208 | <systemitem class="username">root</systemitem>, such as
|
---|
| 209 | <command>make install</command>, from a console or non-qt5 based
|
---|
| 210 | window manager. It overwrites <application>qt5</application>
|
---|
| 211 | libraries that should not be in use during the install process.
|
---|
| 212 | </para>
|
---|
| 213 | </warning>
|
---|
| 214 |
|
---|
| 215 | <caution>
|
---|
| 216 | <para>
|
---|
| 217 | If you did not install some of the recommended dependencies, examine
|
---|
| 218 | <command>./configure --help</command> output to check how to disable
|
---|
| 219 | them or use internal versions bundled in the source tarball.
|
---|
| 220 | </para>
|
---|
| 221 | </caution>
|
---|
| 222 |
|
---|
| 223 | <note>
|
---|
| 224 | <para>
|
---|
[8525524b] | 225 | The BLFS editors do not recommend installing
|
---|
| 226 | <application>qt5</application> into the
|
---|
| 227 | <filename class="directory">/usr</filename> hierarchy because it
|
---|
| 228 | becomes difficult to find components and to update to a new version.
|
---|
| 229 | If you do want to install <application>qt5</application> in
|
---|
| 230 | <filename class="directory">/usr</filename>, the directories need to
|
---|
| 231 | be specified explicitly. In this case, set
|
---|
| 232 | <envar>QT5PREFIX=/usr</envar> and add the following to the configure
|
---|
| 233 | arguments below:
|
---|
[cff158f] | 234 | </para>
|
---|
| 235 |
|
---|
| 236 | <screen role="nodump"><userinput> -archdatadir /usr/lib/qt5 \
|
---|
| 237 | -bindir /usr/bin \
|
---|
| 238 | -plugindir /usr/lib/qt5/plugins \
|
---|
| 239 | -importdir /usr/lib/qt5/imports \
|
---|
| 240 | -headerdir /usr/include/qt5 \
|
---|
| 241 | -datadir /usr/share/qt5 \
|
---|
| 242 | -docdir /usr/share/doc/qt5 \
|
---|
| 243 | -translationdir /usr/share/qt5/translations \
|
---|
| 244 | -examplesdir /usr/share/doc/qt5/examples</userinput></screen>
|
---|
| 245 | </note>
|
---|
| 246 |
|
---|
[157f1352] | 247 | <para>
|
---|
| 248 | Now apply a patch to pull in the fixes curated by kde for those
|
---|
[cff158f] | 249 | modules which are required by packages mentioned in this book:
|
---|
| 250 | </para>
|
---|
| 251 |
|
---|
| 252 | <screen><userinput remap="pre">patch -Np1 -i ../qt-everywhere-opensource-src-&qt5-version;-kf5-1.patch</userinput></screen>
|
---|
| 253 |
|
---|
| 254 | <para>
|
---|
[5e112b70] | 255 | The patch is supposed to be used in a git repository. Otherwise some
|
---|
| 256 | files that should be modified by <command>configure</command> after
|
---|
| 257 | applying the patch are not touched. Fortunately, it is enough to create a
|
---|
[cff158f] | 258 | <filename class="directory">.git</filename> directory in the
|
---|
[49b913d2] | 259 | <filename class="directory">qmake</filename> directory where the
|
---|
[cff158f] | 260 | <command>configure</command> script is run:
|
---|
| 261 | </para>
|
---|
| 262 |
|
---|
| 263 | <screen><userinput remap="pre">mkdir -pv qtbase/.git</userinput></screen>
|
---|
| 264 |
|
---|
[5f38a07] | 265 | <para>
|
---|
| 266 | Fix a security vulnerability in qtbase:
|
---|
| 267 | </para>
|
---|
| 268 |
|
---|
| 269 | <screen><userinput>patch -Np1 -i ../qt-everywhere-opensource-src-&qt5-version;-security_fix-1.patch</userinput></screen>
|
---|
| 270 |
|
---|
[cff158f] | 271 | <para>
|
---|
| 272 | At this point we want to set up skipping most components. Do that with:
|
---|
| 273 | </para>
|
---|
| 274 |
|
---|
| 275 | <screen><userinput>ls -Fd qt* | grep / | sed 's/^/-skip /;s@/@@' > tempconf &&
|
---|
[07067aa] | 276 | sed -i -r '/base|tools|x11extras|svg|declarative|wayland/d' tempconf</userinput></screen>
|
---|
[cff158f] | 277 |
|
---|
| 278 | <para>
|
---|
[8525524b] | 279 | Now, install <application>qt5</application> by running the following
|
---|
| 280 | commands:
|
---|
[cff158f] | 281 | </para>
|
---|
| 282 |
|
---|
| 283 | <screen revision="sysv"><userinput>./configure -prefix $QT5PREFIX \
|
---|
| 284 | -sysconfdir /etc/xdg \
|
---|
| 285 | -confirm-license \
|
---|
| 286 | -opensource \
|
---|
| 287 | -dbus-linked \
|
---|
| 288 | -openssl-linked \
|
---|
| 289 | -system-harfbuzz \
|
---|
| 290 | -system-sqlite \
|
---|
| 291 | -nomake examples \
|
---|
| 292 | -no-rpath \
|
---|
| 293 | -syslog \
|
---|
| 294 | $(cat tempconf) \
|
---|
| 295 | &&
|
---|
| 296 | make</userinput></screen>
|
---|
| 297 |
|
---|
[7d09c400] | 298 | <screen revision="systemd"><userinput>./configure -prefix $QT5PREFIX \
|
---|
[cff158f] | 299 | -sysconfdir /etc/xdg \
|
---|
| 300 | -confirm-license \
|
---|
| 301 | -opensource \
|
---|
| 302 | -dbus-linked \
|
---|
| 303 | -openssl-linked \
|
---|
| 304 | -system-harfbuzz \
|
---|
| 305 | -system-sqlite \
|
---|
| 306 | -nomake examples \
|
---|
| 307 | -no-rpath \
|
---|
| 308 | -journald \
|
---|
| 309 | $(cat tempconf) \
|
---|
| 310 | &&
|
---|
| 311 | make</userinput></screen>
|
---|
| 312 |
|
---|
| 313 | <para>
|
---|
| 314 | This package does not come with a test suite.
|
---|
| 315 | </para>
|
---|
| 316 |
|
---|
| 317 | <para>
|
---|
| 318 | Now, as the <systemitem class="username">root</systemitem> user:
|
---|
| 319 | </para>
|
---|
| 320 |
|
---|
| 321 | <screen role="root"><userinput>make install</userinput></screen>
|
---|
| 322 |
|
---|
| 323 | <!-- EDITORS NOTE: This package uses INSTALL_ROOT= instead of DESTDIR= for
|
---|
| 324 | installing in a temporary directory. -->
|
---|
| 325 |
|
---|
| 326 | <para>
|
---|
| 327 | Remove references to the build directory from installed library
|
---|
[8525524b] | 328 | dependency (prl) files by running the following
|
---|
[cff158f] | 329 | command as the <systemitem class="username">root</systemitem> user:
|
---|
| 330 | </para>
|
---|
| 331 |
|
---|
| 332 | <screen role="root"><userinput>find $QT5PREFIX/ -name \*.prl \
|
---|
| 333 | -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;</userinput></screen>
|
---|
| 334 |
|
---|
| 335 | <para>
|
---|
| 336 | Install images and create the menu entries for installed applications.
|
---|
| 337 | The <envar>QT5BINDIR</envar> variable is used here to point to the
|
---|
| 338 | directory for the executable programs. If you have changed the bindir
|
---|
| 339 | above, <envar>QT5BINDIR</envar> will need to be adjusted below. Be sure
|
---|
| 340 | that the <envar>QT5BINDIR</envar> variable is defined in root's
|
---|
| 341 | environment and as the <systemitem class="username">root</systemitem>
|
---|
| 342 | user:
|
---|
| 343 | </para>
|
---|
| 344 |
|
---|
| 345 | <screen role="root"><userinput>QT5BINDIR=$QT5PREFIX/bin
|
---|
| 346 |
|
---|
| 347 | install -v -dm755 /usr/share/pixmaps/ &&
|
---|
| 348 |
|
---|
| 349 | install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
|
---|
| 350 | /usr/share/pixmaps/assistant-qt5.png &&
|
---|
| 351 |
|
---|
| 352 | install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
|
---|
| 353 | /usr/share/pixmaps/designer-qt5.png &&
|
---|
| 354 |
|
---|
| 355 | install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
|
---|
| 356 | /usr/share/pixmaps/linguist-qt5.png &&
|
---|
| 357 |
|
---|
| 358 | install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
|
---|
| 359 | /usr/share/pixmaps/qdbusviewer-qt5.png &&
|
---|
| 360 |
|
---|
| 361 | install -dm755 /usr/share/applications &&
|
---|
| 362 |
|
---|
| 363 | cat > /usr/share/applications/assistant-qt5.desktop << EOF
|
---|
| 364 | <literal>[Desktop Entry]
|
---|
| 365 | Name=Qt5 Assistant
|
---|
| 366 | Comment=Shows Qt5 documentation and examples
|
---|
| 367 | Exec=$QT5BINDIR/assistant
|
---|
| 368 | Icon=assistant-qt5.png
|
---|
| 369 | Terminal=false
|
---|
| 370 | Encoding=UTF-8
|
---|
| 371 | Type=Application
|
---|
| 372 | Categories=Qt;Development;Documentation;</literal>
|
---|
| 373 | EOF
|
---|
| 374 |
|
---|
| 375 | cat > /usr/share/applications/designer-qt5.desktop << EOF
|
---|
| 376 | <literal>[Desktop Entry]
|
---|
| 377 | Name=Qt5 Designer
|
---|
| 378 | GenericName=Interface Designer
|
---|
| 379 | Comment=Design GUIs for Qt5 applications
|
---|
| 380 | Exec=$QT5BINDIR/designer
|
---|
| 381 | Icon=designer-qt5.png
|
---|
| 382 | MimeType=application/x-designer;
|
---|
| 383 | Terminal=false
|
---|
| 384 | Encoding=UTF-8
|
---|
| 385 | Type=Application
|
---|
| 386 | Categories=Qt;Development;</literal>
|
---|
| 387 | EOF
|
---|
| 388 |
|
---|
| 389 | cat > /usr/share/applications/linguist-qt5.desktop << EOF
|
---|
| 390 | <literal>[Desktop Entry]
|
---|
| 391 | Name=Qt5 Linguist
|
---|
| 392 | Comment=Add translations to Qt5 applications
|
---|
| 393 | Exec=$QT5BINDIR/linguist
|
---|
| 394 | Icon=linguist-qt5.png
|
---|
| 395 | MimeType=text/vnd.trolltech.linguist;application/x-linguist;
|
---|
| 396 | Terminal=false
|
---|
| 397 | Encoding=UTF-8
|
---|
| 398 | Type=Application
|
---|
| 399 | Categories=Qt;Development;</literal>
|
---|
| 400 | EOF
|
---|
| 401 |
|
---|
| 402 | cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF
|
---|
| 403 | <literal>[Desktop Entry]
|
---|
| 404 | Name=Qt5 QDbusViewer
|
---|
| 405 | GenericName=D-Bus Debugger
|
---|
| 406 | Comment=Debug D-Bus applications
|
---|
| 407 | Exec=$QT5BINDIR/qdbusviewer
|
---|
| 408 | Icon=qdbusviewer-qt5.png
|
---|
| 409 | Terminal=false
|
---|
| 410 | Encoding=UTF-8
|
---|
| 411 | Type=Application
|
---|
| 412 | Categories=Qt;Development;Debugger;</literal>
|
---|
| 413 | EOF</userinput></screen>
|
---|
| 414 |
|
---|
| 415 | <para>
|
---|
| 416 | Some packages such as <xref linkend='vlc'/> look for certain
|
---|
| 417 | executables with a -qt5 suffix. Run the following command as the
|
---|
| 418 | <systemitem class="username">root</systemitem> user
|
---|
| 419 | to create the necessary symlinks:
|
---|
| 420 | </para>
|
---|
| 421 |
|
---|
| 422 | <screen role="root"><userinput>for file in moc uic rcc qmake lconvert lrelease lupdate; do
|
---|
[775d5f4] | 423 | ln -sfvn $QT5BINDIR/$file /usr/bin/$file-qt5
|
---|
[cff158f] | 424 | done</userinput></screen>
|
---|
| 425 |
|
---|
| 426 | </sect2>
|
---|
| 427 |
|
---|
| 428 | <sect2 role="commands">
|
---|
| 429 | <title>Command Explanations</title>
|
---|
| 430 |
|
---|
| 431 | <para>
|
---|
| 432 | <parameter>-confirm-license</parameter>: Accept license
|
---|
| 433 | without prompting user during configuration.
|
---|
| 434 | </para>
|
---|
| 435 |
|
---|
| 436 | <para>
|
---|
| 437 | <parameter>-opensource</parameter>: Install the opensource
|
---|
| 438 | version of <application>qt</application>.
|
---|
| 439 | </para>
|
---|
| 440 |
|
---|
| 441 | <para>
|
---|
| 442 | <parameter>-nomake examples</parameter>: This switch
|
---|
| 443 | disables building of the example programs included
|
---|
| 444 | in the source tarball. Remove it if you want to build
|
---|
| 445 | them.
|
---|
| 446 | </para>
|
---|
| 447 |
|
---|
| 448 | <para>
|
---|
| 449 | <parameter>-system-sqlite</parameter>: This switch enables use
|
---|
| 450 | of the system version of <application>SQLite</application>.
|
---|
| 451 | </para>
|
---|
| 452 |
|
---|
| 453 | <para>
|
---|
| 454 | <parameter>-system-harfbuzz</parameter>: This switch enables use
|
---|
| 455 | of the system version of <application>Harfbuzz</application>.
|
---|
| 456 | </para>
|
---|
| 457 |
|
---|
| 458 | <para>
|
---|
[875b3b57] | 459 | <parameter>-dbus-linked</parameter>
|
---|
| 460 | <parameter>-openssl-linked</parameter>: These
|
---|
[cff158f] | 461 | switches enable explicit linking of the
|
---|
| 462 | <application>D-Bus</application> and
|
---|
| 463 | <application>OpenSSL</application> libraries into
|
---|
| 464 | <application>qt5</application> libraries instead of
|
---|
| 465 | <command>dlopen()</command>-ing them.
|
---|
| 466 | </para>
|
---|
| 467 |
|
---|
| 468 | <para revision="sysv">
|
---|
| 469 | <parameter>-syslog</parameter>: This switch allows to send qt messages
|
---|
| 470 | to the <command>syslog</command> logging system.
|
---|
| 471 | </para>
|
---|
| 472 |
|
---|
| 473 | <para revision="systemd">
|
---|
| 474 | <parameter>-journald</parameter>: This switch allows to send qt messages
|
---|
| 475 | to the <command>journald</command> logging system.
|
---|
| 476 | </para>
|
---|
| 477 |
|
---|
| 478 | <para>
|
---|
[e917814] | 479 | <command>$(cat tempconf)</command>: This command provides a list of
|
---|
| 480 | components that should not be built. These entries are in the form of
|
---|
[cff158f] | 481 | "-skip <component>".
|
---|
| 482 | </para>
|
---|
| 483 |
|
---|
| 484 | </sect2>
|
---|
| 485 |
|
---|
| 486 | <sect2 role="configuration">
|
---|
| 487 | <title>Configuring qt5</title>
|
---|
| 488 |
|
---|
| 489 | <sect3 id="qt5-alt-config">
|
---|
| 490 | <title>Configuration Information</title>
|
---|
| 491 |
|
---|
| 492 | <para>
|
---|
| 493 | If <xref linkend="sudo"/> is installed, QT5DIR should be available to
|
---|
| 494 | the super user as well. Execute the following commands as the
|
---|
| 495 | <systemitem class="username">root</systemitem> user:
|
---|
| 496 | </para>
|
---|
| 497 |
|
---|
| 498 | <screen role="root"><userinput>cat > /etc/sudoers.d/qt << "EOF"
|
---|
| 499 | <literal>Defaults env_keep += QT5DIR</literal>
|
---|
| 500 | EOF</userinput></screen>
|
---|
| 501 |
|
---|
| 502 | <bridgehead renderas="sect4">If you installed qt5 in /usr</bridgehead>
|
---|
| 503 |
|
---|
| 504 | <para>
|
---|
| 505 | If you installed <application>qt5</application> in
|
---|
| 506 | <filename class="directory">/usr</filename>, create an
|
---|
| 507 | environment variable needed by certain packages.
|
---|
| 508 | As the <systemitem class="username">root</systemitem> user:
|
---|
| 509 | </para>
|
---|
| 510 |
|
---|
| 511 | <screen role="nodump"><userinput>cat > /etc/profile.d/qt5.sh << "EOF"
|
---|
| 512 | <literal># Begin /etc/profile.d/qt5.sh
|
---|
| 513 |
|
---|
| 514 | QT5DIR=/usr
|
---|
| 515 | export QT5DIR
|
---|
| 516 |
|
---|
| 517 | # End /etc/profile.d/qt5.sh</literal>
|
---|
| 518 | EOF</userinput></screen>
|
---|
| 519 |
|
---|
| 520 | <bridgehead renderas="sect4">If you did not install qt5 in /usr</bridgehead>
|
---|
| 521 |
|
---|
| 522 | <para>
|
---|
| 523 | If you installed <application>qt5</application> in a location other
|
---|
| 524 | than <filename class="directory">/usr</filename>, you need to update the
|
---|
| 525 | following configuration files so that <application>qt5</application> is
|
---|
| 526 | correctly found by other packages and system processes.
|
---|
| 527 | </para>
|
---|
| 528 |
|
---|
| 529 | <para>
|
---|
| 530 | As the <systemitem class="username">root</systemitem> user, update
|
---|
| 531 | the <filename>/etc/ld.so.conf</filename> file and the dynamic linker's
|
---|
| 532 | run-time cache file:
|
---|
| 533 | </para>
|
---|
| 534 |
|
---|
| 535 | <screen role="root"><userinput>cat >> /etc/ld.so.conf << EOF
|
---|
| 536 | <literal># Begin Qt addition
|
---|
| 537 |
|
---|
| 538 | /opt/qt5/lib
|
---|
| 539 |
|
---|
| 540 | # End Qt addition</literal>
|
---|
| 541 | EOF
|
---|
| 542 |
|
---|
| 543 | ldconfig</userinput></screen>
|
---|
| 544 |
|
---|
| 545 | <indexterm zone="qt5 qt5-config">
|
---|
| 546 | <primary sortas="e-etc-ld.so.conf">/etc/ld.so.conf</primary>
|
---|
| 547 | </indexterm>
|
---|
| 548 |
|
---|
| 549 | <para>
|
---|
| 550 | As the <systemitem class="username">root</systemitem> user, create
|
---|
| 551 | the <filename>/etc/profile.d/qt5.sh</filename> file:
|
---|
| 552 | </para>
|
---|
| 553 |
|
---|
[6d8eeb9] | 554 | <screen role="root"><userinput>cat > /etc/profile.d/qt_5.sh << "EOF"
|
---|
| 555 | <literal># Begin /etc/profile.d/qt_5.sh
|
---|
[cff158f] | 556 |
|
---|
| 557 | QT5DIR=/opt/qt5
|
---|
| 558 |
|
---|
| 559 | pathappend $QT5DIR/bin PATH
|
---|
| 560 | pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH
|
---|
| 561 |
|
---|
| 562 | export QT5DIR
|
---|
| 563 |
|
---|
[6d8eeb9] | 564 | # End /etc/profile.d/qt_5.sh</literal>
|
---|
[cff158f] | 565 | EOF</userinput></screen>
|
---|
| 566 |
|
---|
| 567 | </sect3>
|
---|
| 568 |
|
---|
| 569 | </sect2>
|
---|
| 570 |
|
---|
| 571 | <sect2 role="content">
|
---|
| 572 | <title>Contents</title>
|
---|
| 573 |
|
---|
| 574 | <segmentedlist>
|
---|
| 575 | <segtitle>Installed Programs</segtitle>
|
---|
| 576 | <segtitle>Installed Libraries</segtitle>
|
---|
| 577 | <segtitle>Installed Directories</segtitle>
|
---|
| 578 |
|
---|
| 579 | <seglistitem>
|
---|
| 580 | <seg>
|
---|
| 581 | assistant, designer, fixqt4headers.pl, lconvert,
|
---|
| 582 | linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro,
|
---|
| 583 | moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml,
|
---|
[e440af5] | 584 | qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc,
|
---|
[cff158f] | 585 | qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing,
|
---|
| 586 | qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump,
|
---|
| 587 | qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime,
|
---|
[e440af5] | 588 | qmltyperegistrar,
|
---|
[cff158f] | 589 | qtattributionscanner, qtdiag, qtpaths, qtplugininfo,
|
---|
| 590 | qtwaylandscanner, qvkgen, rcc, syncqt.pl, tracegen, and
|
---|
| 591 | uic
|
---|
| 592 | </seg>
|
---|
| 593 | <seg>
|
---|
[775d5f4] | 594 | libQt5AccessibilitySupport.a,
|
---|
| 595 | libQt5Bootstrap.a,
|
---|
[cff158f] | 596 | libQt5Concurrent.so,
|
---|
[e440af5] | 597 | libQt5Core.so,
|
---|
[cff158f] | 598 | libQt5DBus.so,
|
---|
| 599 | libQt5Designer.so,
|
---|
[e440af5] | 600 | libQt5DesignerComponents.so,
|
---|
[775d5f4] | 601 | libQt5DeviceDiscoverySupport.a,
|
---|
| 602 | libQt5EdidSupport.a,
|
---|
[cff158f] | 603 | libQt5EglFSDeviceIntegration.so,
|
---|
| 604 | libQt5EglFsKmsSupport.so,
|
---|
[775d5f4] | 605 | libQt5EglSupport.a,
|
---|
| 606 | libQt5EventDispatcherSupport.a,
|
---|
| 607 | libQt5FbSupport.a,
|
---|
| 608 | libQt5FontDatabaseSupport.a,
|
---|
| 609 | libQt5GlxSupport.a,
|
---|
[cff158f] | 610 | libQt5Gui.so,
|
---|
[e440af5] | 611 | libQt5Help.so,
|
---|
[775d5f4] | 612 | libQt5InputSupport.a,
|
---|
| 613 | libQt5KmsSupport.a,
|
---|
| 614 | libQt5LinuxAccessibilitySupport.a,
|
---|
[cff158f] | 615 | libQt5Network.so,
|
---|
| 616 | libQt5OpenGL.so,
|
---|
[775d5f4] | 617 | libQt5OpenGLExtensions.a,
|
---|
| 618 | libQt5PacketProtocol.a,
|
---|
| 619 | libQt5PlatformCompositorSupport.a,
|
---|
[cff158f] | 620 | libQt5PrintSupport.so,
|
---|
[e440af5] | 621 | libQt5Qml.so,
|
---|
[775d5f4] | 622 | libQt5QmlDebug.a,
|
---|
| 623 | libQt5QmlDevTools.a,
|
---|
[e440af5] | 624 | libQt5QmlModels.so,
|
---|
[cff158f] | 625 | libQt5QmlWorkerScript.so,
|
---|
[e440af5] | 626 | libQt5Quick.so,
|
---|
| 627 | libQt5QuickParticles.so,
|
---|
[cff158f] | 628 | libQt5QuickShapes.so,
|
---|
[e440af5] | 629 | libQt5QuickTest.so,
|
---|
[775d5f4] | 630 | libQt5QuickWidgets.so,
|
---|
| 631 | libQt5ServiceSupport.a,
|
---|
| 632 | libQt5Sql.so,
|
---|
| 633 | libQt5Svg.so,
|
---|
| 634 | libQt5Test.so,
|
---|
| 635 | libQt5ThemeSupport.a,
|
---|
| 636 | libQt5UiTools.a,
|
---|
[e440af5] | 637 | libQt5WaylandClient.so,
|
---|
[cff158f] | 638 | libQt5WaylandCompositor.so,
|
---|
[e440af5] | 639 | libQt5Widgets.so,
|
---|
| 640 | libQt5X11Extras.so,
|
---|
[cff158f] | 641 | libQt5XcbQpa.so,
|
---|
[775d5f4] | 642 | libQt5XkbCommonSupport.a,
|
---|
[e440af5] | 643 | libQt5Xml.so,
|
---|
[cff158f] | 644 | and several plugins under /opt/qt5/{plugins,qml}
|
---|
| 645 | </seg>
|
---|
| 646 | <seg>
|
---|
| 647 | /usr/include/qt5,
|
---|
| 648 | /usr/lib/qt5,
|
---|
| 649 | /usr/share/doc/qt5, and
|
---|
| 650 | /usr/share/qt5
|
---|
| 651 | OR
|
---|
| 652 | /opt/qt5 and
|
---|
| 653 | /opt/qt-&qt5-version;
|
---|
| 654 | </seg>
|
---|
| 655 | </seglistitem>
|
---|
| 656 | </segmentedlist>
|
---|
| 657 |
|
---|
| 658 | <bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
---|
| 659 | <para>See <xref linkend="qt5-descriptions"/></para>
|
---|
| 660 |
|
---|
| 661 | </sect2>
|
---|
| 662 |
|
---|
| 663 | </sect1>
|
---|