Название: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки(реш.) Отправлено: Eten от Октябрь 19, 2014, 09:43 Всем привет и доброго утра.
У меня тут проблема возникла, над которой работаю с самого раннего утра. Я недавно начал осваивать Linux через Ubuntu 14.01 LTS (несколько раз уже работал, так что более или менее мне понятно, что библиотеки лежат в /usr/lib, однако опыта маловато еще). Решил перенести работу с Qt5.3 на Линукс, поэтому скачал "qt-opensource-linux-x86-5.3.1.run" с офф.сайта и поставил. Прошло без проблем. Однако, когда я попытался запустить пример 2dpainting (чтобы для себя на будущее c OpenGL проверить запуск и работу), повалили ошибки. Оказались проблемы с тем, что не доустановлен gcc в полном комплекте. Я это исправил тем, что нашел как поставить и что, а потом это сделал. Однако проблемы не закончились, что в принципе нормально. Обнаружилось, что не хватает для OpenGL поставить недостающее, поэтому еще поискал и опять начал ставить недостающее. И т.д. в том же дуже, нету, ищу и ставлю. (Ссылки внизу поста, это те страницы по которым я находил недостающую инфу для решения проблемы) Только решение сей беды зашло в тупик на том, что я не могу найти библиотеки Qt5.3, т.е. сами so. Т.к. QtCreator не может собрать и запустить прогу вывалив ниже следующие: Код: 08:56:36: Выполняются этапы для проекта 2dpainting... Исходя из указанного, как я понял. Не находится libQt5OpenGL.so, libQt5Widgets.so, libQt5Gui.so, libQt5Core.so. В общем начал искать эти библиотеки сам, полагая, что они должны стоять в системе Linux. Код: apt-file search libQt5OpenGL.so >> ~/logs/searchlib.log Зашел в тупик, т.к. по всем этим адресам выше, попадаются жесткие ссылки, кроме файла, как например этот libQt5Core.so.5.2.1. Заглядываю в ту папку куда ставил сам Qt5.3 (путь ~/Qt/5.3/gcc/lib), там тоже ссылки на разделяемые библиотеки (application/x-sharedlib). В общем, в конечно итоге я пришел к неутешительному выводу, что у меня нету самих библиотек в системе, даже несмотря на то, что устанавливал через "qt-opensource-linux-x86-5.3.1.run". Все ли я правильно сделал или чего-то упустил? Может перепутал? Народ, нужна ваша помощь. ;) З.Ы. Чтобы компилилось, разумеется в настройках по компилятору GCC прописал /usr/bin/gcc-4.8. ----------------------- Список страниц, по которым я шел при решении своих затруднений: http://unix.stackexchange.com/questions/140350/linux-g-command-not-found http://ubuntuforums.org/showthread.php?t=1464768 http://stackoverflow.com/questions/4643197/missing-include-bits-cconfig-h-when-cross-compiling-64-bit-program-on-32-bit http://askubuntu.com/questions/368404/make-command-compiling-errors http://www.prinmath.com/csci5229/misc/install.html http://forums.debian.net/viewtopic.php?f=8&t=114419 http://askubuntu.com/questions/432732/fatal-error-gl-glut-h-no-such-file-or-directory http://qt-project.org/forums/viewthread/17535 http://forum.ubuntu.ru/topic_217754_0.html http://gcup.ru/forum/62-23408-1 http://hashcode.ru/questions/238677/c-%D0%BA%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-opengl-%D0%BD%D0%B0-ubuntu https://software.intel.com/en-us/articles/error-ld-cannot-find-lm http://www.lpcware.com/content/faq/lpcxpresso/linker-cannot-find-library http://stackoverflow.com/questions/335928/ld-cannot-find-an-existing-library http://qt-project.org/forums/viewthread/22848 http://www.linux.org.ru/forum/development/9970633 http://www.forum.crossplatform.ru/index.php?showtopic=6923 http://qt-project.org/forums/viewthread/13617 -------------------------------------------------------------------------------- Проблема была решена. Оказалось, я просто не заметил, как поставил два пакета: qt-opensource-linux-x86-1.6.0-5-online.run и qt-opensource-linux-x86-5.3.1.run. Полагал, что нужно их было оба, а оказалось достаточно первого файла. Так удалил установленную папку Qt и поставил заново первый из приведенных выше файлов. Пример, заработал. З.Ы. Спасибо, что ответили в моей теме. Т.к. ответ про разрядность ОС меня и натолкнул на мою ошибку Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Eten от Октябрь 28, 2014, 19:36 Народ, а почему никто не отвечает?! Не уж то я слишком мудренно написал пост? Или тут нет тех, кто занимается разработкой ПО на Qt в Линуксе?
Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Alex Custov от Октябрь 28, 2014, 20:28 Цитировать g++ -m64 система 64-bit? Ты скачал 32-битный тулкит на 64-битную систему. Линковаться всё это хозяйство сможет только в 32-битном режиме, но это тебе не нужно. Поставь 64-битный дистрибутив Qt через .run файл с сайта qt-project, или вообще из репозиториев Ubuntu (sudo apt-get install qtbase5-dev qttools5-dev) Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Eten от Октябрь 29, 2014, 19:27 Цитировать g++ -m64 система 64-bit? Ты скачал 32-битный тулкит на 64-битную систему. Линковаться всё это хозяйство сможет только в 32-битном режиме, но это тебе не нужно. Поставь 64-битный дистрибутив Qt через .run файл с сайта qt-project, или вообще из репозиториев Ubuntu (sudo apt-get install qtbase5-dev qttools5-dev) З.Ы. Но, за ответ все равно спасибо. Как-то не обратил внимание на "64". :o Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Alex Custov от Октябрь 29, 2014, 20:04 Вообще-то у меня 32 битная ОС, а не 64. И да, что-то я не обратил на это внимания. Однако, наверняка, это не дает ответа на то, где искать библиотеки (с расширением "so"). Библиотеки поставляются в официальном установщике, и ты их уже находил. ld не мог их использовать из-за того, что твоя программа компилировалась в 64-битном режиме, а библиотеки - 32-битные, об этом и было сообщение от него (skipping incompatible...). У тебя что-то с опциями компиляции проекта, там откуда-то появилась опция -m64. Убери её и всё будет работать. Также я дал команду чтобы установить Qt5 из репозиториев без использования инсталлятора от Digia, в 14.04 на данный момент версия Qt - 5.2.1. Это просто на заметку. Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: __Heaven__ от Октябрь 30, 2014, 07:59 1) Снесите все связанное с Qt.
2) Выполните установку через онлайн инсталлятор Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: neochapay от Ноябрь 01, 2014, 16:24 sudo ls /etc/ld.so.conf.d/ сделайте плиз
Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Fregloin от Ноябрь 04, 2014, 10:50 что бы виделись либы Qt, нужно прописать в /etc/ld.so.conf.d текстовый файл (назовем его например qt.conf) такого содержания
Код: /opt/Qt/5.3/gcc_64/lib Путь к Qt пропишите тот, куда вы ставили Qt при условии что качали из сайта qt-project.org инсталлятор. Если ставили через apt-get то этот этап можно пропустить. а потом выполнить Код: sudo ldconfig Еще при линковке будет ругаться на -lGL. Это нормально, просто сделайте символическую ссылку на файл либы. Вот например как сделано у меня (стоит mesa-gl, для nvidia/ati нужно указать соответствующий путь) /usr/lib/x86_64-linux-gnu/mesa/libGL.so -> /usr/lib или же прописать в /etc/ld.so.conf.d файл gl.conf такого содержания Код: /usr/lib/x86_64-linux-gnu/mesa и sudo ldconfig. Должно помочь. Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Alex Custov от Ноябрь 04, 2014, 11:58 что бы виделись либы Qt, нужно прописать в /etc/ld.so.conf.d текстовый файл (назовем его например qt.conf) такого содержания Код: /opt/Qt/5.3/gcc_64/lib Путь к Qt пропишите тот, куда вы ставили Qt при условии что качали из сайта qt-project.org инсталлятор. Официальный инсталлятор использует rpath, и не требует модификации ld.so.conf. Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Fregloin от Ноябрь 05, 2014, 11:27 не знаю не знаю, я когда пытался запустить с консоли свое приложение, ругалось что не находит либы кутешные. когда сделал операцию с ldconfig - заработало...
Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Alex Custov от Ноябрь 05, 2014, 13:43 не знаю не знаю, я когда пытался запустить с консоли свое приложение, ругалось что не находит либы кутешные. когда сделал операцию с ldconfig - заработало... А какое именно сообщение? Просто интересно. И покажи вывод ldd Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Fregloin от Ноябрь 06, 2014, 12:27 да какое, libQtCore5 not found и т.д.
Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Alex Custov от Ноябрь 06, 2014, 16:43 да какое, libQtCore5 not found и т.д. Думаю что это специфичные настройки системы сборки, запретившей использование rpath. Это Gentoo/Arch? Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Fregloin от Ноябрь 07, 2014, 11:46 нет, банальная убунта ;D
Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Alex Custov от Ноябрь 07, 2014, 13:29 нет, банальная убунта ;D В Убунте точно rpath, я сам в Убунте собираю. Без деталей проекта и как что куда установлено больше сказать сложно. Название: Re: Linux, Ubuntu 14.01 LTS, Qt5.3, не могу собрать пример и найти библиотеки.... Отправлено: Eten от Ноябрь 08, 2014, 16:08 Проблема была решена. Оказалось, я просто не заметил, как поставил два пакета: qt-opensource-linux-x86-1.6.0-5-online.run и qt-opensource-linux-x86-5.3.1.run. Полагал, что нужно их было оба, а оказалось достаточно первого файла. Так удалил установленную папку Qt и поставил заново первый из приведенных выше файлов. Пример, заработал.
З.Ы. Спасибо, что ответили в моей теме. Т.к. ответ про разрядность ОС меня и натолкнул на мою ошибку. |