Пишу достаточно специфичный софт, поэтому иногда тесно связан рамками одной операционной системы.
На этот раз мне досталась 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.
После этого наконец-то запуск стал проходить нормально.