Название: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 08, 2011, 19:05 Здравствуйте !
Требуется собрать Qt embedded linux под ARM.Скачал qt-embedded-linux-opensource-src-4.5.3. Скачал кросс-компилятор arm-linux-gcc-4.3.2. Далее я сделал : export PATH=/usr/local/arm/4.3.2/bin:$PATH Потом поменял : #QMAKE_CC = arm-linux-gcc #QMAKE_CXX = arm-linux-g++ #QMAKE_LINK = arm-linux-g++ #QMAKE_LINK_SHLIB = arm-linux-g++ на : QMAKE_CC = arm-none-linux-gnueabi-gcc QMAKE_CXX = arm-none-linux-gnueabi-g++ QMAKE_LINK = arm-none-linux-gnueabi -g++ QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ #QMAKE_AR = arm-linux-ar cqs #QMAKE_OBJCOPY = arm-linux-objcopy #QMAKE_STRIP = arm-linux-strip на: QMAKE_AR = arm-none-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy QMAKE_RANLIB = arm-none-linux-gnueabi –ranlib. Cохранил этот файл .Потом зашёл в файл /mkspecs/common/g++.conf. Там поменял : QMAKE_CFLAGS_RELEASE += -O2 на : QMAKE_CFLAGS_RELEASE += -O0. Сделал конфигурацию : ./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix\/usr/local/Qt-qt-mouse -little-endian -no-webkit -optimized-qmake и получил следующую ошибку :./configure: строка 75: .qmake.vars: Отказано в доступе. Помогите её исправить , пожалуйста ! Заранее спасибо Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 08, 2011, 20:48 sudo ./configure
Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 09, 2011, 12:32 Cпасибо , удалось сконфигурировать файлы ..... но теперь возникла другая проблема и я искал в гуглу ответ , но он мне не помог.
Прописываю sudo make Начинается сборка и потом вылетает следующая ошибка : make[1]: arm-none-linux-gnueabi-g++: Команда не найдена Помогите пожалуйста решить проблемы со сборкой qt под arm. Заранее спасибо . Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 09, 2011, 14:21 Я так понимаю редактировался qmake.conf. А можно узнать с какой целью? ведь есть уже есть готовый конфиг для gnueabi. Да и вообще в /usr/local/arm/4.3.2/bin есть arm-none-linux-gnueabi-g++?
Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 09, 2011, 14:54 Дa поэтому пути есть arm-none-linux-gnueabi-g++ . А менял я qmake.conf до такого как сконфигурировал . Вы предалагаете вернуть как было изначально ,и попробовать сделать конфиг ?
Попробовал ничего не менять , конфиг прошёл отлично , а после того как вёл make выбило ошибку такого же плана : make[1]: arm-linux-g++: Команда не найдена. Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 09, 2011, 17:46 Дa поэтому пути есть arm-none-linux-gnueabi-g++ . А менял я qmake.conf до такого как сконфигурировал . Вы предалагаете вернуть как было изначально ,и попробовать сделать конфиг ? Ну так нет самого arm-linux-g++.Попробовал ничего не менять , конфиг прошёл отлично , а после того как вёл make выбило ошибку такого же плана : make[1]: arm-linux-g++: Команда не найдена. Установи, может так.... sudo apt-get install arm-linux-g++ Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 09, 2011, 17:59 Я установил , как вы сказали , набрал опять sudo make ,и вылезла таже ошибка .
Может всё очистить и сделать ещё раз конфиг и мэйк !? Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 09, 2011, 22:23 Я установил , как вы сказали , набрал опять sudo make ,и вылезла таже ошибка . Можно, а что за error ?Может всё очистить и сделать ещё раз конфиг и мэйк !? Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 09, 2011, 23:28 Я пробовал разными методами , если менять qmake.conf то выдаёт ошибку :
make[1]: arm-none-linux-gnueabi-g++: Команда не найдена а если не менять make[1]: arm-linux-g++: Команда не найдена. Я попробую всё таки очистить и посмотрю может что то изменится Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 10, 2011, 16:46 Поставил всё по новой выскакивает таже самая ошибка .
Может ещё что то надо исправить ? Название: Re: Qt Embedded Linux под ARM Отправлено: ритт от Февраль 11, 2011, 03:33 http://en.wikipedia.org/wiki/Environment_variable
PATH ...это как минимум Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 11, 2011, 11:46 простите , не понял , что как минимум !?
Название: Re: Qt Embedded Linux под ARM Отправлено: ритт от Февраль 12, 2011, 03:24 Qt Embedded - это linux/unix - начните с теоритических основ. расжёвывать каждую команду вряд ли кто захочет...
Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 22, 2011, 15:00 и что никто не поможет !?
Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 22, 2011, 15:27 как я вижу в самом начале путь для поиска компилятора прописан
Цитировать export PATH=/usr/local/arm/4.3.2/bin:$PATH Значит он или неправильно прописан или в нем действительно нет ни arm-linux-g++ ни arm-none-linux-gnueabi-g++Решение: во первых посмотреть какие файлы находятся по этому пути, во вторых проверить, установился ли этот путь в системе. Для этого ввести в консоле Код: echo $PATH Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 22, 2011, 15:59 1 ) то что по этому пути указано на рисунки , которая хранится здесь :http://s2.ipicture.ru/uploads/20110222/ElsB27o3.png
2) вот что указано echo $PATH : /usr/local/arm/4.3.2/arm-none-linux-gnueabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 22, 2011, 17:58 и что никто не поможет !? сделай так (заново):sudo apt-get install arm-none-linux-gnueabi-g++ sudo apt-get install arm-linux-g++ И потом покажи что выйдет! Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 22, 2011, 18:07 вот так :
Код: sedom@sergey-System-Product-Name:~$ sudo apt-get install arm-none-linux-gnueabi-g++ Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 22, 2011, 20:06 отлично, что выводит
sudo ./configure sudo make sudo make install Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 23, 2011, 11:18 Отлично , только я так и делаю и выдаёт ошибку. В чём подвох ?
Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 23, 2011, 15:10 Отлично , только я так и делаю и выдаёт ошибку. В чём подвох ? Покажи что видает, каждый шаг. ???Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 23, 2011, 17:19 вот это после sudo ./configure -embedded arm -little-endian :
Код: Qt is now configured for building. Just run 'make'. и вот долгожданный sudo make Код: make[1]: Вход в каталог `/home/sedom/qt-embedded-linux-opensource-src-4.5.3/src/corelib' Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 23, 2011, 19:00 A что дает команда:
man arm-linux-g++ Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 23, 2011, 19:13 интересно, а что даст такой поиск
find / -name arm-linux-g++* кстати в логе установки присутсвуют версии 4.4 и 4.5 а путь натравлен на 4.3.2 Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 24, 2011, 11:24 после команды man arm-linux-g++ выдаёт следующее :
Код: sedom@sergey-System-Product-Name:~/qt-embedded-linux-opensource-src-4.5.3$ man arm-linux-g++ после команды выдаёт sudo find / -name arm-linux-g++ выдаёт следующее : Код: sedom@sergey-System-Product-Name:~/qt-embedded-linux-opensource-src-4.5.3$ sudo find / -name arm-linux-g++ Название: Re: Qt Embedded Linux под ARM Отправлено: Ubuntu_linux от Февраль 24, 2011, 11:36 может модифицировать файл configure и поставить нужний путь к arm-linux-g++
так один пакет не установился... Код переустанови.... Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 24, 2011, 11:56 как переустановить !? он не находит arm-none-linux-gnueabi-g++ .
Вы имеете ввиду configure ,который в сразу в корневом катологе ? Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 24, 2011, 12:31 Смотрим что находится в PATH
Цитировать вот что указано echo $PATH : А что показал поиск/usr/local/arm/4.3.2/arm-none-linux-gnueabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games Цитировать sedom@sergey-System-Product-Name:~/qt-embedded-linux-opensource-src-4.5.3$ sudo find / -name arm-linux-g++ Ничего не настораживает?/usr/local/arm/4.3.2/bin/arm-linux-g++ /home/sergey/usr/local/arm/4.3.2/bin/arm-linux-g++ Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 24, 2011, 12:56 То есть я так понимаю нигде ничего не меняя прописать путь export PATH=/usr/local/arm/4.3.2/bin:$PATH потом сделать конфиг , потом прописать путь до qmake и потом написать sudo make . Так попробовать ? Я попробовал так , всё таже ошибка . а ещё когда происходил конфиг я смог вытянуть интересную штуку , только не до конца понял ,что она означает :
Код: ./configure: строка 5992: arm-linux-g++: команда не найдена Может это нам поможет . Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 24, 2011, 17:23 не понятно почему не находит arm-linux-g++
что выдаст если просто ввести в консоль Код: arm-linux-g++ Код: ./configure -platform linux-g++ -embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/Qt-qt-mouse .. а лучше вообще удалить и заново распаковать исходники Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 24, 2011, 17:46 когда ввожу arm-linux-g++ пишет следующее :
Код: sedom@sergey-System-Product-Name:~/qt-embedded-linux-opensource-src-4.5.3$ arm-linux-g++ Код: ./configure -platform linux-g++ -embedded arm -xplatform qws/linux-arm-g++ -little-endian Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 24, 2011, 20:13 ага, значит arm-linux-g++ это просто симлинк на arm-none-linux-gnueabi-g++ и в системе все установлено
тогда проблема в другом. Можно лог с ошибкой по-подробнее? Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 25, 2011, 11:52 вот описание ошибки :
Код: make[1]: Вход в каталог `/home/sedom/qt-embedded-linux-opensource-src-4.5.3/src/corelib' Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 25, 2011, 12:36 у меня тоже что-то подобное было. Не помню как это все разрешилось. Немного погуглив нашел вот это http://www.friendlyarm.net/forum/topic/2291?lang=de (http://www.friendlyarm.net/forum/topic/2291?lang=de) возможно это поможет решить проблему
Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Февраль 25, 2011, 12:38 я смотрел эту ссылку , только не знаю как ей воспользоватся.
Название: Re: Qt Embedded Linux под ARM Отправлено: twp от Февраль 28, 2011, 12:50 ну там предложен следующий вариант решения:
Цитировать Solution I have solved this problem by configuring the full path to compiler within qmake.conf: /opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi-g++ etc. After compiling qmake again i was able to configure qmake within qtcreator and compile the program. Название: Re: Qt Embedded Linux под ARM Отправлено: Sergey от Май 12, 2011, 15:53 Здравствуйте !
Проблема насчет установки Qt под Arm осталось тойже . Я бы хотел попросить тех людей у которых стоит qt под arm cкомпилировать мне 1 проект . Желательно чтоб он был собран статично . И наверно нужно будет qwt , чтобы скомпилировать данный проект . Если кто может помочь , напишите пожалуйста. Заранее благодарен ! Название: Re: Qt Embedded Linux под ARM Отправлено: eternal_ego от Октябрь 10, 2011, 11:10 Qt embedded под ARM собирал, только версию 4.4.3 - проблем не возникало.
Но проблемы возникли в другом: захотелось, чтобы приложения Qt работали на платформе ARM, но не через QWS сервер, а через X-сервер. Для этого взял другие исходники - qt-everywhere-opensource-src-4.7.4 конфигурирую так: ./configure -xplatform qws/linux-arm-gnueabi-g++ -little-endian -static -exceptions -qt3support -no-glib -no-dbus -no-phonon -no-phonon-backend -no-mmx -no-3dnow -no-sse -no-sse2 -qt-gif -qt-libpng -qt-libjpeg -qt-freetype -no-libtiff -no-libmng -no-cups -no-sql-sqlite -qt-mouse-tslib -xsync -declarative -v Собранные нужными toolchain библиотеки X11 под свою платформу скопировал с девайса (TDM-3730), они при конфигурировании подцепились нормально. Хотя, подозреваю, я их не совсем корректно подцепил через -rpath-link , но иначе линкер при конфигурировании их не видел. Код: include(../../common/g++.conf) А ошибка в чём: Код: In file included from animation/qabstractanimation.cpp:902: Т.е. дело не в библиотеках, а в чём-то глубоко системном. Есть какие-нибудь мысли по этому поводу? Название: Re: Qt Embedded Linux под ARM Отправлено: BRE от Октябрь 10, 2011, 11:17 Судя по ошибке при компиляции подключается хедер qatomic_i386.h, вместо необходимого qatomic_arm*.h
Что то ты не так сконфигурировал. Название: Re: Qt Embedded Linux под ARM Отправлено: eternal_ego от Октябрь 10, 2011, 11:26 Согласен. Но -xplatform qws/linux-arm-gnueabi-g++ явно указывает на целевую платформу, параметры оттуда однозначно читаются, и от конфигурации под qws здесь конфиг отличается только отсутствием embedded. Но видимо нужно что-то ещё, и я, к сожалению, пока не понял, что именно :(
upd: хотя всё может объясняться просто - например тем, что тулсы arm-2009q1 просто не могут собрать релиз 4.7.4 ... Название: Re: Qt Embedded Linux под ARM Отправлено: gogi от Октябрь 11, 2011, 07:36 Qt embedded под ARM собирал, только версию 4.4.3 - проблем не возникало. Но проблемы возникли в другом: захотелось, чтобы приложения Qt работали на платформе ARM, но не через QWS сервер, а через X-сервер. Для этого взял другие исходники - qt-everywhere-opensource-src-4.7.4 Т.е. дело не в библиотеках, а в чём-то глубоко системном. Есть какие-нибудь мысли по этому поводу? qws/linux-arm-gnueabi-g++ - ты указываешь конфиг от QWS, а хочешь получить X11? И на что ты расчитываешь? С exceptions и без embedded этот конфиг врят ли соберётся. Далее, ты тут выложил файл своего проекта? Большая часть опций, имхо, должна быть в mkspec платформы (qws/linux-arm-gnueabi-g++?). Так обычно никто не делает. А причина проста: опций дохрена и в них очень легко запутаться и войти в конфликт с системными. Что у тебя скорее всего и произошло. Переопределять нужно только то, что ты используешь. А вот флаги компилятора, всякие flex'ы уже и так нормально прописаны. Название: Re: Qt Embedded Linux под ARM Отправлено: eternal_ego от Октябрь 11, 2011, 08:21 Папку с конфигом в mkspecs я добавил самостоятельно, по инерции в подпапку qws. Думаю, что то, в какой папке оно лежит, на результат не должно влиять, имеет же значение что внутри файлов qmake.conf (который я и привёл), все указанные опции как раз в нём. Опций многовато, возможно и правда что-то лишнее.
Что примечательно, собрал 4.4.3 без флага embedded (заново, с чистого дистрибутива), и всё равно работает через -qws. С exeptions, кстати. Как оно вообще, по идее, должно собираться под arm+x11 ? Название: Re: Qt Embedded Linux под ARM Отправлено: gogi от Октябрь 11, 2011, 10:04 Цитировать qmake.conf (который я и привёл), все указанные опции как раз в нём. Опций многовато, возможно и правда что-то лишнее. Теперь ясно. Я думаю можно продолжать в таком духе и изменять лишь разве что всякие QMAKE_CC/QMAKE_CXX и т.п. А всё остальное есть во включаемых g++.conf/linux.conf Ещё думаю лучше взять базовый спек из Qt 4.7.4 (linux-g++), а не 4.4.3 И для него вносить свои изменения. Просто у тебя в спеке есть такоеКод: QMAKE_LIBS_QT = -lqte Как оно вообще, по идее, должно собираться под arm+x11 ? Если нет официальных спеков для кросссборки X11/arm, то значит официально такая сборка не поддерживается. Но думаю заменить компилятор в linux-g++ на нужный ничего не должно сломать. Ещё, если не уверен с rpath, попробуй просто добавить библиотеки куда-нибудь в QMAKE_LIBS_X11. |