Qt

Установка Qt5 на старые верcии ubuntu

Пишу достаточно специфичный софт, поэтому иногда тесно связан рамками одной операционной системы.

На этот раз мне досталась Ubuntu 8.0 под которую нужно было скомпилить  созданное приложение.

Компиляция в Ubuntu 14.10 естественно не подходила, так как была ну просто куча неудовлетворённых зависимостей к которым я вообще не знал с какой стороны подступится.

Решил поставить Qt и прямо на месте скомпилировать.

Но даже инсталлер Qt с офф сайта не соизволил установиться. Стало понятно, что нужно обновить gcc и g++, обновляем:

sudo add-apt-repositories ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20
На удивление обновился без проблем.
g++ -v  и gcc -v
выдавали 4.8

Следующим делом уже успешно установился Qt, но запускаться наотрез отказался, ок.

ldd qtcreator
Выдал, что not found libX11.xcb.so
Ну ок, ставим её:
sudo apt-get install  libx11-xcb-dev
О, запустился, но компилить проект отказался - not find -lGL

Это уже проходили: http://pavelk.ru/ubuntu-qt5-ne-zadan-kompilyator-not-found-lgl-not-found-gl-h

Проект скомпилился, запустился, но в окне вообще ничего нет.

Так как проект был с использованием qml, отсюда первым делом пришлось ставить драйвера на встроенную ATI HD5400, которые на удивление поставились без проблем.

Но в окне по прежнему было пусто.

Посмотрим, что нам скажет

glxinfo | grep render




принёс неожиданность direct rendering: No (LIBGL_ALWAYS_INDIRECT set)

тут её я взял на понт, прописав

unset LIBGL_ALWAYS_INDIRECT




и как ни странно, получилось.

Поставил эту команду перед запуском бинарника — уже было лень искать что ему на этот раз не нравится.

На этом проект успешно скомпилился.

но вне IDE запускаться не хотел, ldd говорил, что не может найти libQt5Quick.so и так далее, хотя они у него лежали перед носом и в qt.conf были прописаны пути до либ.
Ну да ладно создал скриптик запуска, вместе с unset прописал и export LD_LIBRARY_PATH=путь до либ qt.

После этого наконец-то запуск стал проходить нормально.

Related posts

Упрощение работы с динамическими структурами в C++

Вывести время компиляции исходников __TIMESTAMP__ в виде Unix timestamp в C(C++)

QML DropArea for files