Здравстуйте !
Возникла проблема со сборкой openwrt для eltex nte-1402-g-w.
Начну с предисловия:
Есть устройство вышеуказанное, которое ростелеком раздает бесплатно при подключении, т.е. дает в аренду.
На нем установлена прошивка x-wrt, при чем кастомная-кастомная. Что в ней даже не возможно переназначить wan на lan, ну если и возможно - значит у меня руки кривые, что скорее всего.
Так вот, ни ростелеком, ни eltex, ни mindspeed - чипы которых были взяты для устройства eltex исходники linux для сборки не дают.
Долго я искал исходники - нашел для сборки прошивки для zixel основанный на comcerto
Выкладываю то же самое перезалитое на яндекс.диск:

Вроде бы все ясно, есть прошивка - бери, собирай, шей и юзай, ан нет, не могу собрать !
Помогите СОБРАТЬ эту CENSORED, а то я уже две недели с ней сделать ни чего не могу.

Подскажите что делать, пожалуйста.

Собираю под ubuntu 12.10
Распаковал архив с прошивкой
Зашел в терминале в папку с прошивкой,
выполнил ./scripts/feeds update -a (в feeds.conf.default раскомментирован только luci репозиторий)
потом ./scripts/feeds install -a ( все устанавливается)
потом make menuconfig и вот тут лезет ошибка

make manuconfig
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
Checking 'gawk'... ok.
Checking 'bison'... ok.
Checking 'flex'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'lzop'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'autoconf'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'uuencode'... ok.
Checking 'ctags'... ok.
Checking 'non-root'... ok.

Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install zlib. (Missing libz.so or zlib.h)

Prerequisite check failed. Use FORCE=1 to override.
make[1]: *** [tmp/.prereq-build] Error 1
make: *** [manuconfig] Ошибка 2

Ошибка из вывод связана видимо с отстутствием ncurses и zlib
Перед сборкой были установлены следующие пакеты :

libc-bin
zlib1g-dev
zlib1g
ncurses-base
libncurses5
libncurses5-dev
ncurses-bin
ncurses-term

2 (22.02.2013 13:59:30 отредактировано yars)

"Оно" требует от вас, как вы сами же и заметили, ncurses и zlib, только версий не тех. что у вас в системе, а старше/младше.   Экспериментируйте. Ну, а как вариант - ищет не там, где они, по мнению сборочных скриптов, лежать должны.
UPD:

soumrachnij пишет:

[manuconfig]

И да, что это такое? Может, имелся в виду menuconfig?

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

3

А что поставить ncurses-devel ни как?

It is good day to die ...
MS Windows 10
Заметки о главном...

4 (22.02.2013 14:43:10 отредактировано Fat-Zer)

yars пишет:

"Оно" требует от вас, как вы сами же и заметили, ncurses и zlib, только версий не тех.

бред же, не?

i2ks пишет:

А что поставить ncurses-devel ни как?

дык, ТС вроде пишет, что поставил...

soumrachnij, проверь непосредственное наличие файлов: /usr/include/{glib.h,ncurses.h} /lib/libz.so* /usr/lib/libncurses.so*
(lib64 для некоторых дистрибутивов)
да, и ссылка на прошивку не прикрепилась что ли?

95% процентов проблем находятся между клавиатурой и стулом.

5

Fat-Zer пишет:

бред же, не?

Почему бред? Какие версии этих пакетов в Ubuntu? И я не видел исходников собираемого.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

6

Fat-Zer пишет:

дык, ТС вроде пишет, что поставил...

в ubuntu это пакет ncurses-dev , его нет в списке.

It is good day to die ...
MS Windows 10
Заметки о главном...

7 (22.02.2013 14:59:06 отредактировано Fat-Zer)

yars пишет:

Почему бред? Какие версии этих пакетов в Ubuntu?

обе библиотеки довольно строго свои как АПИ, так и АБИ соблюдают... да и релизятся с багфиксами и мелкими улучшениями раз в полтора года от силы.... в бубунте, само собой, последние версии...

i2ks пишет:

в ubuntu это пакет ncurses-dev , его нет в списке.

под рукой нет бубунты, но он наверняка виртуальный для libncurses5-dev

95% процентов проблем находятся между клавиатурой и стулом.

8

вывод терминала:

sudo apt-get install ncurses-dev
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Заметьте, вместо «ncurses-dev» выбирается «libncurses5-dev»
Уже установлена самая новая версия libncurses5-dev.
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.

"manuconfig" - это конечно же опеатка, make menuconfig.
Искал фалы

find /usr/include/ -iname glib.h (не найден)
find /usr/include/ -iname ncurses.h (найден в /usr/include/ncurses.h)

find /lib/ -iname *libz* (нашла вот сдесь: /lib/i386-linux-gnu/libz.so.1.2.7 /lib/i386-linux-gnu/libz.so.1)

find /usr/lib/ -iname *libncurses*
вот вывод:
/usr/lib/i386-linux-gnu/libncurses++.a
/usr/lib/i386-linux-gnu/libncurses.so
/usr/lib/i386-linux-gnu/libncurses.a

Ссылка не прикрепилась, не разрешаен форум прикрепить. Видимо из-за репутации на форуме.
У меня есть две ссылки, одна от источника, другая уже мной залитая прошивка на яндекс.диск.

9

Вот ссылки на источник http://nbg5715.shy.cz
Вот тоже самое, только я залил на яндекс http://yadi.sk/d/j2yyoHhe2nbMf
Да простят меня модераторы !

10

И да, дополню, Ubuntu 12.10 32 битная, с последними  обновлениями, вертится в parallels desktop под mac os.
Что за пакет lib64 ? Пробовал apt-get install lib64 и libc64 - не удалось найти.

11 (22.02.2013 16:31:09 отредактировано Fat-Zer)

soumrachnij пишет:

find /usr/include/ -iname glib.h (не найден)

zlib.h конечно же... описался...

soumrachnij пишет:

Что за пакет lib64 ? Пробовал apt-get install lib64 и libc64 - не удалось найти.

не пакет, а каталог...
это к тому, что некоторые дистрибутивы amd64 хранят в {/usr,}/lib 32-х битные версии, а не нативные... не помню как с этим в бубунтах...
не обращай внимания...

soumrachnij пишет:

Ссылка не прикрепилась, не разрешаен форум прикрепить. Видимо из-за репутации на форуме.

гмм... думал это уже убрали...

95% процентов проблем находятся между клавиатурой и стулом.

12

find /usr/include/ -iname zlib.h
/usr/include/zlib.h
zlib найден.

13

Вот не знаю, что и делать.

14 (22.02.2013 17:04:16 отредактировано Fat-Zer)

soumrachnij пишет:

Вот не знаю, что и делать.

попробуй make clean и/или make mrproper
ну и заново распаковать и тоже самое прогнать..... может гадость-какую запаковали...

soumrachnij пишет:

У меня есть две ссылки, одна от источника, другая уже мной залитая прошивка на яндекс.диск.

так и не уловил, в чём разница между версиями... если что-то самостоятельно менял, то просто сделай патчик на ориинал... если нет, то зачем на ТЫдиск залил?

[added]
и ещё попробуй make V=1 menuconfig может ещё-чего болей-менее умного скажет... или с бóльшими значениями v

95% процентов проблем находятся между клавиатурой и стулом.

15

Вот весь вывод:

/NBG5715_100AAAG2_open_code/sdk-comcerto-openwrt-6.0-1$ make clean
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
Checking 'gawk'... ok.
Checking 'bison'... ok.
Checking 'flex'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'lzop'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'autoconf'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'uuencode'... ok.
Checking 'ctags'... ok.
Checking 'non-root'... ok.

Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install zlib. (Missing libz.so or zlib.h)

Prerequisite check failed. Use FORCE=1 to override.
make: *** [tmp/.prereq-build] Ошибка 1
ubuntu@virtual:~/NBG5715_100AAAG2_open_code/sdk-comcerto-openwrt-6.0-1$ make mrproper 
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
Checking 'gawk'... ok.
Checking 'bison'... ok.
Checking 'flex'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'lzop'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'autoconf'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'uuencode'... ok.
Checking 'ctags'... ok.
Checking 'non-root'... ok.

Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install zlib. (Missing libz.so or zlib.h)

Prerequisite check failed. Use FORCE=1 to override.
make[1]: *** [tmp/.prereq-build] Error 1
make: *** [mrproper] Ошибка 2
ubuntu@virtual:~/NBG5715_100AAAG2_open_code/sdk-comcerto-openwrt-6.0-1$ make V=1 menuconfig
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... failed.
Checking 'zlib'... failed.
Checking 'gawk'... ok.
Checking 'bison'... ok.
Checking 'flex'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'patch'... ok.
Checking 'perl'... ok.
Checking 'python'... ok.
Checking 'wget'... ok.
Checking 'lzop'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'autoconf'... ok.
Checking 'gnu-find'... ok.
Checking 'getopt-extended'... ok.
Checking 'uuencode'... ok.
Checking 'ctags'... ok.
Checking 'non-root'... ok.

Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)
Build dependency: Please install zlib. (Missing libz.so or zlib.h)

Prerequisite check failed. Use FORCE=1 to override.
make: *** [tmp/.prereq-build] Ошибка 1

16 (23.02.2013 04:53:21 отредактировано Fat-Zer)

проверь ручками, на что он ругается...

    echo 'int main(int argc, char **argv) { initscr(); return 0; }' | gcc -include ncurses.h -x c -o /tmp/a.out -lncurses -
    echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | gcc -include zlib.h -x c -o /tmp/a.out -lz -

[взято из include/prereq-build.mk]

95% процентов проблем находятся между клавиатурой и стулом.

17

делал так
http://wiki.openwrt.org/doc/howto/buildroot.exigence
проблем не возникло.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

18

Вот выводы команд:

ubuntu@virtual:~/NBG5715_100AAAG2_open_code/sdk-comcerto-openwrt-6.0-1$ echo 'int main(int argc, char **argv) { initscr(); return 0; }' | gcc -include ncurses.h -x c -o /tmp/a.out -lncurses -
/tmp/ccjHEJfa.o: In function `main':
:(.text+0x7): undefined reference to `initscr'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

ubuntu@virtual:~/NBG5715_100AAAG2_open_code/sdk-comcerto-openwrt-6.0-1$ echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | gcc -include zlib.h -x c -o /tmp/a.out -lz -
/tmp/cc5kK23R.o: In function `main':
:(.text+0x19): undefined reference to `gzdopen'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1

Может ещё что-то установить нужно ?

19

Kettler пишет:

делал так
http://wiki.openwrt.org/doc/howto/buildroot.exigence
проблем не возникло.

А собирали вы именно ту версию openwrt что я тут ссылку дал ?

20 (25.02.2013 15:58:15 отредактировано Fat-Zer)

soumrachnij пишет:

Может ещё что-то установить нужно ?

что-то в системе поломано... то ли библиотеки кривые, то ли линкер с ними не правильно работает...
ничего в обход apt не ставил?
пока затрудняюсь сказать, в чём причина...

покажи выводы:

uname -a
readlink -f /usr/bin/ld
gcc -v
objdump -T $(find /lib -iname 'libz.so*')
objdump -T $(find {/usr,}/lib -iname 'libncurses.so*')

если objdump'а нет, то установи... большие простынки на pastebin заливай...

ЗЫ: если копаться и выяснять, в чём причина не интересно и нет ничего важного, то можно просто переустановить систему...

95% процентов проблем находятся между клавиатурой и стулом.

21

Все ставил только через apt-get, после того как перестало получаться - брал другие версии zlib и ncurses и ставил из исходников командами .configure, make, sudo make install.

Выводы команд:
http://pastebin.com/3iLjjEZL

Вывод последнией команды в терминале не поместился, пришлось перенаправить в файл, тогда он ругнулся на права:
ubuntu@virtual:~$ sudo objdump -T $(find {/usr,}/lib -iname 'libncurses.so*') > nt
find: `/usr/lib/python3.2/xml/__pycache__': Отказано в доступе
find: `/usr/lib/python3.2/xml/dom/__pycache__': Отказано в доступе
find: `/usr/lib/python3.2/xml/parsers/__pycache__': Отказано в доступе
find: `/usr/lib/python3.2/http/__pycache__': Отказано в доступе
find: `/usr/lib/python3.2/email/__pycache__': Отказано в доступе
find: `/usr/lib/python3.2/email/mime/__pycache__': Отказано в доступе
find: `/usr/lib/python3.2/urllib/__pycache__': Отказано в доступе

Я сделал то же самое от root, вывод выше, только в терминал все равно выволилась строчка:
objdump: /usr/lib/i386-linux-gnu/libncurses.so: Формат файла не распознан

22

Может проще уже хакнуть то, что уже установлено ?
Что бы переназначить wan на lan и включить возможность установки сторонних программ, root доступ есть.

23

Функция initscr в libncurses.so.5 есть, gzopen - в libz.so.1.2.7 тоже есть, вывод - линкер ищет их не там, где надо. Попробуйте выполнить перед сборкой

export LDFLAGS="-lzip -lz -lgnt -lpurple -lglib-2.0"
Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

24

Все равно те же ошибки валятся (

25 (26.02.2013 12:50:36 отредактировано soumrachnij)

Может порекомендуете дистрибутив какой-нибудь, под которым точно все должно быть ok' ?
Проще уж кажется в виртуалку любую другую ось заталкать.
Только не ubuntu 10.10, я её сначала кое как нашел, но потом оказалось что из репозитория ни чего не установить, ибо она требует обновлений и версия не стабильная, что ли.

26

Ну, пробуйте Slackware 14 bx
В убунте вон ядра для Gentoo собираться не хотят.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

27

soumrachnij пишет:

после того как перестало получаться - брал другие версии zlib и ncurses и ставил из исходников командами .configure, make, sudo make install.

вот это зря... теперь выяснить откуда ноги растут на порядок сложнее...
тут уже будет проще накатить по новой, чем объяснять, как это осторожно почистить...

кстати, ссылки уже должны нормально вставляться...

soumrachnij пишет:

Может порекомендуете дистрибутив какой-нибудь, под которым точно все должно быть ok' ?

любой будет ок... на 90% уверен, что ты сам сломал что-то при установке...

soumrachnij пишет:

Только не ubuntu 10.10, я её сначала кое как нашел, но потом оказалось что из репозитория ни чего не установить, ибо она требует обновлений и версия не стабильная, что ли.

недавно было: Онлайн репозитарии просроченных версий бубунт

yars пишет:

В убунте вон ядра для Gentoo собираться не хотят.

опять, бред же... depmod в принципе в chroot'е работать не будет без указания версии ядра... Ubuntu к этому отношение имеет такое же, как и наводнение в непале...
но это так оффтоп...

95% процентов проблем находятся между клавиатурой и стулом.

28

Fat-Zer пишет:

depmod в принципе в chroot'е работать не будет без указания версии ядра

Не знал.

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Slackware64-current/Xfce/Lenovo G580

29

soumrachnij пишет:

Может порекомендуете дистрибутив какой-нибудь, под которым точно все должно быть ok' ?

слака-дебиан-центос)

It is good day to die ...
MS Windows 10
Заметки о главном...

30 (26.02.2013 20:34:34 отредактировано Fat-Zer)

накатил 12.04... там и правда какая-то херотень творится с линкером: он требует флаги линковки после исходников...
из того, что сразу нагуглил: http://www.network-theory.co.uk/docs/gc … ro_18.html
т.е. такое поведение хоть и заставляет материться на весь белый свет, но, к сожалению, имеет право на существование...

соотвественно проверь, что это отрабатывает:
echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | gcc -include zlib.h -x c -o /tmp/a.out - -lz
echo 'int main(int argc, char **argv) { initscr(); return 0; }' | gcc -include ncurses.h -x c -o /tmp/a.out - -lncurses

и поменяй соответствующие строки в include/prereq-build.mk
дальше всё должно идти без проблем...

95% процентов проблем находятся между клавиатурой и стулом.