![]() |
|
![]() |
#1 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Я не задавался целью автоматизировать, всегда правил в ручную
|
![]() |
![]() |
![]() |
#2 |
Junior Member
Регистрация: 24.09.2015
Сообщений: 6
Вес репутации: 0 ![]() |
![]()
Кажется, я начинаю врубаться в это дело. Похоже, действительно нужно свой Makefile писать, учитывая, что в OpenWrt его формат отличается от традиционного. Посмотрел Makefile от libopenssl в комплекте OpenWrt, так там как раз-таки этот autoconf’овский configure вызывается в секции Build/Configure:
Код:
define Build/Configure <…> (cd $(PKG_BUILD_DIR); \ ./Configure $(OPENSSL_TARGET) \ --prefix=/usr \ --openssldir=/etc/ssl \ $(TARGET_CPPFLAGS) \ $(TARGET_LDFLAGS) -ldl \ -DOPENSSL_SMALL_FOOTPRINT \ $(OPENSSL_NO_CIPHERS) \ $(OPENSSL_OPTIONS) \ ) <…> endef В общем, если я мыслю в правильном направлении, нужно написать Makefile, который повторит последовательность действий, которой обычно в линуксах пакеты собираются – configure, make и make install. А я думал, что нужно вручную будет строчить тот неведомый кошмар из пары тысяч строк, который генерируется в configure. Если получится, отпишусь. |
![]() |
![]() |
![]() |
#3 |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 ![]() ![]() ![]() |
![]()
SVG, а что конкретно пытаешься скомпилировать?
|
![]() |
![]() |
![]() |
#4 |
Junior Member
Регистрация: 24.09.2015
Сообщений: 6
Вес репутации: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#5 |
Junior Member
Регистрация: 24.09.2015
Сообщений: 6
Вес репутации: 0 ![]() |
![]()
Ещё один вопрос. Как всё-таки правильно указывать зависимости? Если я правильно понял, параметры DEPENDS и PKG_BUILD_DEPENDS влияют только на menuconfig и порядок построения пакетов. А как в $(MAKE) или $(TARGET_CC) передавать конкретный путь к заголовочным исходникам зависимого пакета (в опцию -I )?
Собрал glib2 (получил и успешно установил ipk), прописал его в зависимости в своём пакете, но всё равно получаю «glib.h no such file or directory». Последний раз редактировалось SVG; 25.09.2015 в 14:52. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Я когда собирал свою прогу с поддержкой ssl, то в мейкфайл добавлял библиотеки вот так:
PHP код:
PHP код:
__________________
istarik.ru |
![]() |
![]() |
![]() |
#7 |
Junior Member
Регистрация: 24.09.2015
Сообщений: 6
Вес репутации: 0 ![]() |
![]()
В итоге пути к хедерам glib топорно вписал вручную: -I$(STAGING_DIR)/usr/include/glib-2.0 и -I$(STAGING_DIR)/usr/lib для линковщика. Затем упаковщик ipk пожаловался на отсутствие библиотек, помогла полная перекомпиляция всего и вся (make clean и make), плюс меня ввела в заблуждение путаница с именованием пакета openssl: в Makefile он объявлен как openssl, а в pkginfo как libopenssl. В общем, в DEPENDS добавил +libopenssl, и всё скомпилировалось и установилось.
Следующая проблема. При запуске ругается на отсутствие libc.so, в /lib/ лежит только libc.so.0. Если сделать ссылающуюся на него символическую ссылку "libc.so", то выдаёт: Код:
root@OpenWrt:/lib# megals megals: symbol '__stack_chk_guard': can't resolve symbol megals: symbol '__stack_chk_fail': can't resolve symbol |
![]() |
![]() |
![]() |
#8 |
Junior Member
Регистрация: 04.11.2015
Сообщений: 24
Вес репутации: 0 ![]() |
![]()
Всем привет!
Проверьте, пожалуйста, правильно ли я понял алгоритм сборки пакетов из исходников в общих чертах: 1) Физическую или виртуальную систему с Linux надо настроить для сборки прошивки OpenWrt из исходников под железо роутера (т.е. в моём с случае под MT7621 ? ) 2) После успешной сборки OpenWrt становится возможным собирать пакеты (без приставки kmod) из исходников под своё железо. 3) Установить собранные .ipk файлы на роутер. Т.е. верно ли, что без сборки прошивки OpenWrt нет смысла пытаться собрать и установить пакеты для моего чудо-роутера zbt-wg2626 на китайском OpenWrt BB 14.07 , т.к. без сборки прошивки не настроить подходящее "рабочее окружение"? И верно ли, что собранная прошивка должна встать на железо роутера? Или не факт, что будет, например, WiFi работать? А что лежит вот здесь, патчи или файл для сборки прошивки?: https://dev.openwrt.org/browser#trun...t7621/profiles один файл явно относится к моему роутеру :-) И я правильно понял, что команды: git clone git://git.openwrt.org/openwrt.git и svn co svn://svn.openwrt.org/openwrt/trunk/ делают почти одно и тоже (получают все исходники OpenWrt из ветки trunk), но с использованием разных СКВ ? |
![]() |
![]() |
![]() |
#9 |
Senior Member
|
![]()
Подскажите в какой версии Linux кому-нибудь удалось удачно скомпилировать openwrt под TL-MR3040 v2? И какие исходники были использованы. У меня ничего не получилось под Ubuntu 14 на виртуалке с svn://svn.openwrt.org/openwrt/trunk
Что делать непонятно, т.к. в интернетах пишут только про удачные варианты сборки.
__________________
Россия навсегда! |
![]() |
![]() |
![]() |
#10 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Покажите ошибки.
__________________
istarik.ru |
![]() |
![]() |
![]() |
Здесь присутствуют: 11 (пользователей: 0 , гостей: 11) | |
|
|