%general-entities; ]> $LastChangedBy$ $Date$ Qt-&qt5-version; Qt Introduction to Qt Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface (GUI) (in which cases Qt is classified as a widget toolkit), and also used for developing non-GUI programs such as command-line tools and consoles for servers. One of the major users of Qt is KDE. &lfs73_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &qt5-md5sum; Download size: &qt5-size; Estimated disk space required: &qt5-buildsize; Estimated build time: &qt5-time; Qt Dependencies Required , , , , , , and Recommended , , , , , , , , , , , , and Optional (QtWebKit HTML5 Video Support), (GTK+ Theme Support), libxkbcommon, , , , and User Notes: Installation of Qt If you did not install some of the recommended dependencies, examine ./configure --help output to check how to disable them or use internal versions bundled in the source tarball. Install Qt by running the following commands: sed -i "s:Context\* context}:&\n%lex-param {YYLEX_PARAM}:" \ qtwebkit/Source/ThirdParty/ANGLE/src/compiler/glslang.y && sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" \ qtimageformats/config.tests/libmng/libmng.cpp && ./configure -prefix /usr \ -sysconfdir /etc/xdg \ -bindir /usr/lib/qt5/bin \ -headerdir /usr/include/qt5 \ -archdatadir /usr/lib/qt5 \ -datadir /usr/share/qt5 \ -docdir /usr/share/doc/qt5 \ -translationdir /usr/share/qt5/translations \ -examplesdir /usr/share/doc/qt5/examples \ -confirm-license \ -opensource \ -dbus-linked \ -openssl-linked \ -system-sqlite \ -no-nis \ -nomake examples \ -opengl es2 \ -optimized-qmake && make Remove references to the build directory from the installed .pc files by running the following command: find . -name "*.pc" -exec perl -pi -e "s, -L$PWD/?\S+,,g" {} \; This package does not come with a test suite. Now, as the root user: make install && install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \ /usr/share/pixmaps/assistant-qt5.png && install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \ /usr/share/pixmaps/designer-qt5.png && install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \ /usr/share/pixmaps/linguist-qt5.png && install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \ /usr/share/pixmaps/qdbusviewer-qt5.png Remove references to the build directory from installed files by running the following commands as the root user: sed -i -e "s:$PWD/qtbase:/usr/lib/qt5:g" \ /usr/lib/qt5/mkspecs/modules/qt_lib_bootstrap.pri && find /usr/lib/*.prl -exec sed -i -e \ '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; Symlink the Qt executables into /usr/bin by running the following commands as the root user: for file in /usr/lib/qt5/bin/* do ln -sfv ../lib/qt5/bin/$(basename $file) /usr/bin/$(basename $file)-qt5 done Alternate Qt Installation Instructions This section provides an alternate way to install Qt by installing almost all of the files in the /opt directory. This allows management of all Qt related files in one unit. For instance, a new version of Qt5 can be installed without over-writing the existing installation and entire Qt5 instances can be easily removed. However, it has the disadvantage of needing some extra configuration. patch -Np1 -i ../qt-&qt5-version;-bison_fixes-1.patch && QT5DIR=/opt/qt-&qt5-version; ./configure -prefix $QT5DIR \ -sysconfdir /etc/xdg \ -confirm-license \ -opensource \ -dbus-linked \ -openssl-linked \ -system-sqlite \ -plugin-sql-sqlite \ -no-nis \ -nomake examples \ -opengl es2 \ -optimized-qmake && make Now, as the root user: make install && install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \ /usr/share/pixmaps/assistant-qt5.png && install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \ /usr/share/pixmaps/designer-qt5.png && install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \ /usr/share/pixmaps/linguist-qt5.png && install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \ /usr/share/pixmaps/qdbusviewer-qt5.png Remove references to the build directory from installed files by running the following commands as the root user: find $QT5DIR -name qt_lib_bootstrap.pri \ -exec sed -i -e "s:$PWD/qtbase:/$QT5DIR/lib/:g" {} \; && find $QT5DIR -name \*.prl \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; Symlink the Qt executables into /usr/bin by running the following commands as the root user: ln -svf $QT5DIR /opt/qt5 && for file in /opt/qt5/bin/*; do ln -sfv $file /usr/bin/$(basename $file)-qt5 done At this point is is useful to add some configuration items as the root user: echo /opt/qt5 >> /etc/ld.so.conf && ldconfig && cat >> /etc/profile.d/qt5.sh << "EOF" pathappend /opt/qt5/lib/pkgconfig PKG_CONFIG_PATH EOF Command Explanations sed -i "..." ...: First command fixes building with Bison 3.0 and second command fixes detection of libmng 2.0. -confirm-license: Accept license without prompting user during configuration. -opensource: Install the opensource version of Qt. -release: This switch disables building with debugging symbols. -nomake examples: This switch disables building of the example programs included in the source tarball. Remove it if you want to build them. -system-sqlite: This switch enables use of the system version of SQLite. -no-nis: This switch disables support for Network Information Service (NIS) which has been removed from recent versions of Glibc. -dbus-linkend -openssl-linkend: These switches enable explicit linking of the D-Bus and OpenSSL libraries into Qt libraries instead of dlopen()-ing them. -opengl es2: This switch enables OpenGL ES2 support in Qt. -optimized-qmake: This switch enables building of the optimized qmake program. Configuring Qt Configuration Information Create the menu entries for installed applications. As the root user: install -dm755 /usr/share/applications cat > /usr/share/applications/assistant-qt5.desktop << "EOF" [Desktop Entry] Name=Qt5 Assistant Comment=Shows Qt5 documentation and examples Exec=assistant-qt5 Icon=assistant-qt5 Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development;Documentation; EOF cat > /usr/share/applications/designer-qt5.desktop << "EOF" [Desktop Entry] Name=Qt5 Designer GenericName=Interface Designer Comment=Design GUIs for Qt5 applications Exec=designer-qt5 Icon=designer-qt5 MimeType=application/x-designer; Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development; EOF cat > /usr/share/applications/linguist-qt5.desktop << "EOF" [Desktop Entry] Name=Qt5 Linguist Comment=Add translations to Qt5 applications Exec=linguist-qt5 Icon=linguist-qt5 MimeType=text/vnd.trolltech.linguist;application/x-linguist; Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development; EOF cat > /usr/share/applications/qdbusviewer-qt5.desktop << "EOF" [Desktop Entry] Name=Qt5 QDbusViewer GenericName=D-Bus Debugger Comment=Debug D-Bus applications Exec=qdbusviewer-qt5 Icon=qdbusviewer-qt5 Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development;Debugger; EOF Contents Installed Programs Installed Libraries Installed Directories assistant-qt5, designer-qt5, lconvert-qt5, linguist-qt5, lrelease-qt5, lupdate-qt5, moc-qt5, pixeltool-qt5, qcollectiongenerator-qt5, qdbuscpp2xml-qt5, qdbus-qt5, qdbusviewer-qt5, qdbusxml2cpp-qt5, qdoc-qt5, qhelpconverter-qt5, qhelpgenerator-qt5, qmake-qt5, qml1plugindump-qt5, qmlbundle-qt5, qmlmin-qt5, qmlplugindump-qt5, qmlprofiler-qt5, qmlscene-qt5, qmltestrunner-qt5, qmlviewer-qt5, rcc-qt5, syncqt.pl-qt5, uic-qt5, xmlpatterns-qt5 and xmlpatternsvalidator-qt5 libqgsttools_p.so, libQt5Bootstrap.a, libQt5CLucene.so, libQt5Concurrent.so, libQt5Core.so, libQt5DBus.so, libQt5Declarative.so, libQt5DesignerComponents.so, libQt5Designer.so, libQt5Gui.so, libQt5Help.so, libQt5MultimediaQuick_p.so, libQt5Multimedia.so, libQt5MultimediaWidgets.so, libQt5Network.so, libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PlatformSupport.a, libQt5PrintSupport.so, libQt5QmlDevTools.a, libQt5Qml.so, libQt5QuickParticles.so, libQt5Quick.so, libQt5QuickTest.so, libQt5Script.so, libQt5ScriptTools.so, libQt5Sensors.so, libQt5SerialPort.so, libQt5Sql.so, libQt5Svg.so, libQt5Test.so, libQt5UiTools.a, libQt5V8.so, libQt5WebKit.so, libQt5WebKitWidgets.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XmlPatterns.so and libQt5Xml.so /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5 and /usr/share/qt5 Short Descriptions assistant-qt5 is a tool for presenting on-line documentation. assistant-qt5 designer-qt5 is a full-fledged GUI builder. It includes powerful features such as preview mode, automatic widget layout, support for custom widgets, and an advanced property editor. designer-qt5 linguist-qt5 provides support for translating applications into local languages. linguist-qt5 lrelease-qt5 is a simple command line tool. It reads a Qt project file and produces message files used by the application. lrelease-qt5 lupdate-qt5 reads a Qt project file, finds the translatable strings in the specified source, header and Qt Designer interface files, and produces or updates the translation files listed in the project file. lupdate-qt5 moc-qt5 generates Qt meta object support code. moc-qt5 pixeltool-qt5 is a desktop magnifier and as you move your mouse around the screen it will show the magnified contents in its window. pixeltool-qt5 qmake-qt5 uses information stored in project files to determine what should go in the makefiles it generates. qmake-qt5 rcc-qt5 is a resource compiler used in conjunction with designer. rcc-qt5 uic-qt5 is a Qt user interface compiler. uic-qt5