MyTetra Share
Делитесь знаниями!
Установка Qt 5.15.18 из исходников в Linux
Время создания: 08.02.2026 01:00
Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - Инсталляция Qt и сборка проектов
Запись: xintrea/mytetra_syncro/master/base/1770501647l8wq3yyzpw/text.html на raw.githubusercontent.com

Установка делалась из файла:



qt-everywhere-opensource-src-5.15.18.tar.xz



Файл распакован в каталоге:



/opt/qt_5_15_18



В результате появился каталог:



/opt/qt_5_15_18/qt-everywhere-src-5.15.18



В нем дана команда конфигурирования:



./configure -prefix /opt/qt_5_15_18 -opensource -confirm-license -release -nomake tests



В результате сборка сконфигурировалась для последующей компиляции, но было видно что много компонент не будет собрано. Это на системе, на которой лет десять собирались из исходников всякие программы, и все равно многих библиотек не было установлено.


Поэтому были даны команды для доустановки библиотек:



apt-get install unixodbc unixodbc-dev libodbc1 odbcinst


apt-get install libdouble-conversion-dev


apt-get install libxcb-icccm4-dev libxcb-icccm4


apt-get install \

libegl1-mesa-dev \

libgles2-mesa-dev \

libgl1-mesa-dev \

libxcb-xfixes0-dev \

libxrender-dev \

libxi-dev \

libfontconfig1-dev \

libfreetype6-dev \

libxkbcommon-dev \

libxkbcommon-x11-dev

apt-get install libinput-dev libinput10 libinput-bin


apt-get install libmd4c-dev libmd4c-html0-dev


apt-get install libxkbcommon-x11-dev libxkbcommon-dev libxkbcommon-x11-0


apt-get install libcups2-dev cups cups-client cups-common


apt-get install gperf


apt-get install flex bison


apt-get install liblcms2-dev


apt-get install libnss3-dev libnss3


apt-get install libsnappy-dev



Далее выяснилось, что стандартные команды очистки настроек сборки ломают исходники:



make distclean

rm -f config.cache config.status config.log

find . -name "Makefile" -delete

rm -rf mkspecs/qconfig.pri

rm -rf .config.opt .config.cache


>./configure -prefix /opt/qt_5_15_18 -opensource -confirm-license -release -nomake tests

+ cd qtbase

+ /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/configure -top-level -prefix /opt/qt_5_15_18 -opensource -confirm-license -release -nomake tests

Creating qmake...

cat: /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/qmake/Makefile.unix.unix: Нет такого файла или каталога

cat: /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/qmake/Makefile.unix: Нет такого файла или каталога

gmake: *** Нет целей. Останов.



Поэтому исходники были удалены и распакованы заново. Затем заново дана команда конфигурирования. По сравнению с предыдущей попыткой конфигурирования практически все компоненты были активированы, и даже появилась новая большая секция:



Qt WebEngineCore:

Embedded build ......................... no

Full debug information ................. no

Pepper Plugins ......................... yes

Printing and PDF ....................... yes

Proprietary Codecs ..................... no

Spellchecker ........................... yes

Native Spellchecker .................... no

WebRTC ................................. yes

PipeWire over GIO ...................... no

Geolocation ............................ yes

WebChannel support ..................... yes

Kerberos Authentication ................ no

Extensions ............................. yes

Support qpa-xcb ........................ no

Use ALSA ............................... yes

Use PulseAudio ......................... yes

Qt WebEngineQml:

Support Qt WebEngine Qml ............... yes

UI Delegates ........................... yes

Test Support ........................... no

Qt WebEngineWidgets:

Support Qt WebEngine Widgets ........... yes

Qt PDF:

Support V8 ............................. no

Support XFA ............................ no

Support XFA-BMP ........................ no

Support XFA-GIF ........................ no

Support XFA-PNG ........................ no

Support XFA-TIFF ....................... no

Bitcode support ........................ no

Use static runtime ..................... no

Qt PDF Widgets:

Support Qt PDF Widgets ................. yes



Далее в том же каталоге дана команда сборки:



make -j 8



Сборка завершается успешно.


Далее при попытке выполнить make install от root, возникает ошибка:



/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/bin/qmake -install qinstall /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/lib/cmake/Qt5Quick3DAssetImport/Qt5Quick3DAssetImport_UipAssetImporterPlugin.cmake /opt/qt_5_15_18/lib/cmake/Qt5Quick3DAssetImport/Qt5Quick3DAssetImport_UipAssetImporterPlugin.cmake

make[5]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins/assetimporters/uip»

cd assimp/ && ( test -e Makefile || /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtbase/bin/qmake -o Makefile /opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins/assetimporters/assimp/assimp.pro ) && make -f Makefile install

Project ERROR: Library 'assimp' is not defined.

make[4]: *** [Makefile:85: sub-assimp-install_subtargets] Ошибка 3

make[4]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins/assetimporters»

make[3]: *** [Makefile:59: sub-assetimporters-install_subtargets] Ошибка 2

make[3]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src/plugins»

make[2]: *** [Makefile:206: sub-plugins-install_subtargets-ordered] Ошибка 2

make[2]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d/src»

make[1]: *** [Makefile:62: sub-src-install_subtargets] Ошибка 2

make[1]: выход из каталога «/opt/qt_5_15_18/qt-everywhere-src-5.15.18/qtquick3d»

make: *** [Makefile:378: module-qtquick3d-install_subtargets] Ошибка 2



Почему-то configure не проверяет наличие библиотеки и заголовков libassimp.


Для устранения ошибки дана команда:



apt-get install libassimp-dev



И снова дана команда:



make install



Но ошибка все равно осталась та же самая. Поэтому дана команда:



make uninstall



Она завершится ошибкой, и часть каталогов в /opt/qt_5_15_18 останется. Их надо удалить вручную, кроме каталога qt-everywhere-src-5.15.18. Далее надо зайти в каталог /opt/qt_5_15_18/qt-everywhere-src-5.15.18, и выполнить команду:



make clean



Эта команда, скорее всего, тоже завершится ошибкой. Поэтому нужно полностью удалить каталог с исходниками, распковать архив снова, и опять выполнить сборку, как это написано в начале статьи. На этот раз бублиотека libassimp и ее заголовки будут стоять, и сборка должна произойти правильно.





Так же в этом разделе:
 
MyTetra Share v.0.67
Яндекс индекс цитирования