Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:3
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Embedded Linux
Ошибка при компиляции Qt 5.4.1 на buildroot 2014.08
muaddib
Добавлено 16.03.2015 13:33
0
Сообщение: 1
muaddib
0

Пункты: 1232
Регистрация: 20.11.2014
Появляется ошибка g++: ошибка: unrecognized command line option «-fuse-ld=gold»


g++ -Wl,--gc-sections -Wl,-O1 -fuse-ld=gold -o ../../../bin/qlalr .obj/compress.o .obj/cppgenerator.o .obj/dotgraph.o .obj/lalr.o .obj/main.o .obj/parsetable.o .obj/recognizer.o .obj/grammar.o -L/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1/lib -lQt5Bootstrap -lpthread
g++: ошибка: unrecognized command line option «-fuse-ld=gold»
make[3]: *** [../../../bin/qlalr] Ошибка 1
make[3]: Выход из каталога `/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1/src/tools/qlalr'
make[2]: *** [sub-qlalr-make_first] Ошибка 2
g++ -Wl,--gc-sections -Wl,-O1 -fuse-ld=gold -o ../../../bin/moc .obj/moc.o .obj/preprocessor.o .obj/generator.o .obj/parser.o .obj/token.o .obj/main.o -L/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1/lib -lQt5Bootstrap -lpthread
g++: ошибка: unrecognized command line option «-fuse-ld=gold»
make[3]: *** [../../../bin/moc] Ошибка 1
make[3]: Выход из каталога `/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1/src/tools/moc'
make[2]: *** [sub-moc-make_first] Ошибка 2
make[2]: Выход из каталога `/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1/src'
make[1]: *** [sub-src-make_first] Ошибка 2
make[1]: Выход из каталога `/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1'
make: *** [/home/muaddib/hola/buildroot-2015.02-sk/output/build/qt5base-5.4.1/.stamp_built] Ошибка 2
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.03.2015 13:44 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Виртуальная машина со старой убунтой 10.04 ? На 14.04 такой ошибки не возникает. Не знаю - Павел обновил вируталки на ftp или нет...
Спуститься к концу Подняться к началу
Персональная информация
muaddib
Добавлено 16.03.2015 14:12 Сообщение: 3
muaddib
0

Пункты: 1232
Регистрация: 20.11.2014
Старая версия OpenSuse 12.3, в инете рекомендуют обновить gcc до 4.8.3
Спуститься к концу Подняться к началу
Персональная информация
Pavel Ivanchenko
Добавлено 16.03.2015 14:52 Сообщение: 4
Pavel Ivanchenko
Admin
4.39

Пункты: 92788
Регистрация: 24.03.2009
Пол: Мужчина
Новую виртуалку на прошлой неделе выложил, см. на фтп.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.03.2015 15:04 Редактировалось 16.03.2015 15:07 Сообщение: 5
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Старая версия OpenSuse 12.3, в инете рекомендуют обновить gcc до 4.8.3


Попробуйте откатить буилдрут на старый кросскомпилятор, в директории

toolchain/toolchain-external/

поменяйте файлы

Config.in.orig --> Config.in
toolchain-external.mk.orig --> toolchain-external.mk

по-моему ошибка появилась после обновления кросскомпилятора а не Qt, возможно в Linaro поменяли сборочное окружение, раньше они собирали на убунте 10.04
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.03.2015 09:20 Редактировалось 17.03.2015 09:23 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Ошибка при компиляции Qt 5.4.1 на buildroot 2014.08


Цитата

/home/muaddib/hola/buildroot-2015.02-sk/


я такого не делал :) зря вы гоняетесь за версиями - ядро 3.10, смысла обновлять буилдрут нет
Спуститься к концу Подняться к началу
Персональная информация
muaddib
Добавлено 17.03.2015 11:13 Сообщение: 7
muaddib
0

Пункты: 1232
Регистрация: 20.11.2014
Откат на старый кросс-компилятор ничего не дал.
Та же ошибка, пробовал собрать под свежим дистрибутивом OpenSuse 13.2
Ошибка на том же месте, но уже другая
collect2: fatal error: cannot find 'ld'
Откат по новым дистрибутивом также ничего не дает.
Спуститься к концу Подняться к началу
Персональная информация
muaddib
Добавлено 17.03.2015 11:15 Редактировалось 17.03.2015 11:16 Сообщение: 8
muaddib
0

Пункты: 1232
Регистрация: 20.11.2014
buildroot тот же 2014.08 скачан с Yandex диска, каталог так назвал, чтобы была возможность иметь старую рабочую версию за 2014 г.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.03.2015 11:58 Редактировалось 17.03.2015 12:04 Сообщение: 9
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Та же ошибка, пробовал собрать под свежим дистрибутивом OpenSuse 13.2


Дистрибутиво-проблемы похоже. Попропбуйте удалить патч в

package/qt5/qt5base/qt5base-0006-configure-fix-gold-linker-support-detection.patch

и собрать без него

Цитата

Откат по новым дистрибутивом также ничего не дает.


На Ubuntu 14.04 собирается 100%
Спуститься к концу Подняться к началу
Персональная информация
muaddib
Добавлено 18.03.2015 08:00 Сообщение: 10
muaddib
0

Пункты: 1232
Регистрация: 20.11.2014
Удаление патча ничего не дало, помогло только удаление всех упоминаний о -fuse-ld=gold в файлах MakeFile в каталоге Qt и в configure.
Тогда собралось без проблем.
Но честно говоря Qt5 по производительности меня разочаровал, происводительность программы упала как минимум на 20%.
На Qt 4.8 загрузка процессора составляла 80%, а сейчас 100%, и это с учетом двух ядер с распараллеливанием.
Кроме того ужасно тормозит вывод на QPainter, не более 5 кадров/сек, тогда как в Qt 4.8 проблем не наблюдалось.
Ubuntu не использую так как по работе у меня стоит машина с OpenSuse.
В Ubuntu мне работать не удобно.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux