Пакет buildroot.
Как ставить: http://wl500g.info/showthread.php?t=2036&page=5
68 пост
Можно ли откомпилировать простую программу на С средствами роутера? Какой пакет надо поставить на роутер для этого.Или может под Xp есть компилятор который может делать исполняемые файлы для роутера.
Спасибо.
Пакет buildroot.
Как ставить: http://wl500g.info/showthread.php?t=2036&page=5
68 пост
А я из за лени разбираться с cross-compiling и ASUS toolchain на роутер установил из репозитария http://ipkg.nslu2-linux.org/feeds/op.../cross/stable/ пакет "buildroot - 4.1.1-12 - uClibc compilation toolchain" и все у меня теперь компилируется на роутере. Не быстро конечно, но приемлемо.
buildroot я тоже уже установил. но с нативной компиляцией у меня возникли проблемы (пытаюсь собрать mediatomb):
- не нашел libjs для wl-500g, скомпилить скачанную не смог, потому что ей нужна gmake, которую в свою очередь не смог найти
- даже при компиляции без libjs наткнулся на забавный баг: make ругается на подготовленные configure'ом файлы, что они более ранние, чем дистрибутив - запускает конфигур, и так по кругу
В итоге пошел другим путем - поднял под wmware Fedora Core 6, скомпирировал mediatomb под платформу i386. Теперь пытаюсь кросс-компилировать его под роутер.
Установил пакет "buildroot - 4.1.1-12 - uClibc compilation toolchain".
Как собрать работающий IPK из libpcap?
У меня установлены пакеты:
Что-то ещё необходимо устанавливать?adduser - 1.5.0-1 - a multi-call binary for login and user account administration
bison - 2.3-2 - a general-purpose parser generator that converts an annotated context-free grammar into an LALR(1) or GLR parser for that gramm
buildroot - 4.1.1-12 - uClibc compilation toolchain
bzip2 - 1.0.4-1 - Very high-quality data compression program
cron - 4.1-5 -
cyrus-sasl-libs - 2.1.22-2 - Provides client or server side authentication (see RFC 2222).
diffutils - 2.8.1-4 - contains gnu diff, cmp, sdiff and diff3 to display differences between and among text files
e2fsprogs - 1.40.2-1 - Ext2 Filesystem Utilities
flex - 2.5.33-4 - Generates programs that perform pattern-matching on text.
gdbm - 1.8.3-2 - GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
glib - 2.6.6-6 - The GLib library of C routines.
groff - 1.19.2-1 - front-end for the groff document formatting system
ipkg - 0.99.149-2 -
less - 394-3 - Less file browser
libdb - 4.2.52-3 - Berkeley DB Libraries
libstdc++ - 0.2.0-6 -
libuclibc++ - 0.1.12-4 -
libuclibc++ - 0.2.2-4 - C++ standard library designed for use in embedded systems
libxml2 - 2.6.27-2 -
libxml2 - 2.6.29-1 - Libxml2 is the XML C parser and toolkit developed for the Gnome project.
libxslt - 1.1.20-1 -
libxslt - 1.1.21-1 - An XML Stylesheet processor based on libxml2
lighttpd - 1.4.15-3 -
m4 - 1.4.8-1 - gnu macro processor and compiler front end
make - 3.81-1 - examines files and runs commands necessary for compilation
man - 1.5p-4 - unix manual page reader
man-pages - 2.33-3 - unix manual pages
mc - 4.6.1-2 -
mc - 4.1.35-3 -
memtester - 4.0.6-1 - A runtime memtest utility
microperl - 5.8.8-11 - Microperl.
nano - 2.0.6-1 - A pico like editor
ncurses - 5.6-1 - NCurses libraries
ncursesw - 5.6-1 - NCurses libraries with wide char support.
openldap-libs - 2.3.35-1 -
openssl - 0.9.7m-2 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
openssl - 0.9.7m-1 -
pcre - 7.2-1 - Perl-compatible regular expression library
pcre - 6.7-5 -
php - 5.2.3-1 - The php scripting language
php - 5.2.2-1 -
php-fcgi - 5.2.3-1 - The php scripting language, built as an fcgi module
php-fcgi - 5.2.2-5 -
readline - 5.2-2 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
screen - 4.0.3-2 - A screen manager that supports multiple logins on single terminal
sed - 4.1.5-1 - Stream editor.
slang - 2.1.1-1 - S-Lang is a multi-platform library designed to allow a developer to create robust multi-platform software.
sqlite - 3.4.1-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
termcap - 1.3.1-2 - Terminal emulation library
uclibc-opt - 0.9.28-12 - micro C library for embedded Linux systems
unrar - 3.6.8-2 - unrar is an application that can decompress files and archives created using the RAR compression scheme
unzip - 5.52-1 - A (de)compression library for the ZIP format
vsftpd - 2.0.5-1 - ftp daemon with an emphasis on speed and security
whois - 4.7.20-1 - Perform whois lookups to identify site owners
zlib - 1.2.3-2 - zlib is a library implementing the 'deflate' compression system.
Для libpcap это работает:
./configure
make
make install
А дальше, я так понимаю, для создания ipk необходимо править Makefile и ... Подскажите пожалуйста.
Собираю медиасервер, для него необходимо несколько пакетов, которых нет в http://ipkg.nslu2-linux.org/feeds/op.../cross/stable/. Приходится пытаться скомпилировать на самом девайсе. Установил:
buildroot
make
optware-devel
perl
а также все пакеты с сочетанием gc и ++
Проблема в том, что в makefile создаются такие строки:
...
AR = mipsel-linux-ar
CC = mipsel-linux-gcc
...
Для второй я пишу CC = mipsel-linux-uclibc-gcc (компилятор, который устанавливается с buildroot).
А вот первому аргументу AR, что надо присваивать - неясно, поскажите, плиз, так как нет ничего похожего!! Естественно, без этого не компилируется.
P.S. Компилирую YAML-Syck http://svn.slimdevices.com/vendor/sr...=8711&view=log
Я думаю нужно оставить просто ar. В комплекте buildroot_4.1.1-12_mipsel.ipk он есть.
cпасибо, заработало, продолжу мучаться с компиляцией
Для медиасервера, который я уже третий день тщетно устанавливаю, помимо всего, нужен пакет YAML-Syck. Я скачал, скомпилировал (используя пакеты buildroot и perl) и установил его (make, make test (все тесты прошли ok), make install). Все без ошибок, все необходимые файлы "лежат" на своих местах. НО perl пакет не видит (несмотря на то, что тесты при установке работают). Проверяю так (просто запуск строчки кода из командной строки):
в ответ:Code:perl -MYAML::Syck -le 'print YAML::Syck::Dump({})'
Я не знаток perl, но происходит примерно следующее: perl не находит данный пакет и пытается сделать AUTOLOAD функции Dump - поэтому ищет файл Dump.al, которого нет и по идее не должно быть.Code:Can't locate auto/YAML/Syck/Dump.al in @INC (@INC contains: /opt/lib/perl5/5.8.8/mipsel-linux /opt/lib/perl5/5.8.8 /opt/lib/perl5/site_perl/5.8.8/mipsel-linux /opt/lib/perl5/site_perl/5.8.8 /opt/lib/perl5/site_perl .) at -e line 1
Что еще я не сделал при установке пакета YAML-Syck?
Всем привет! Помогите решить проблему: во время компиляции программы на роутере выскакивает ошибка:
Code:[admin@WL-001FC660F2CE ip-sentinel-0.12]$ make make all-recursive make[1]: Entering directory `/opt/tmp/ip-sentinel-0.12/ip-sentinel-0.12' Making all in . make[2]: Entering directory `/opt/tmp/ip-sentinel-0.12/ip-sentinel-0.12' make[2]: Nothing to be done for `all-am'. make[2]: Leaving directory `/opt/tmp/ip-sentinel-0.12/ip-sentinel-0.12' Making all in src make[2]: Entering directory `/opt/tmp/ip-sentinel-0.12/ip-sentinel-0.12/src' depbase=`echo ip-sentinel.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; \ if gcc -DHAVE_CONFIG_H -I. -I. -I.. -D_GNU_SOURCE -g -O2 -Wall -W -Wno-unused-function -std=c99 -Wno-unreachable-code -MT ip-sentinel.o -MD -MP -MF "$depbase.Tpo" -c -o ip-sentinel.o ip-sentinel.c; \ then mv -f "$depbase.Tpo" "$depbase.Po"; else rm -f "$depbase.Tpo"; exit 1; fi In file included from ip-sentinel.c:24: wrappers.h: In function 'Eioctl': wrappers.h:102: warning: implicit declaration of function 'ioctl' In file included from ip-sentinel.c:39: /opt/include/sys/ioctl.h: At top level: /opt/include/sys/ioctl.h:42: error: conflicting types for 'ioctl' /opt/include/sys/ioctl.h:42: note: a parameter list with an ellipsis can't match an empty parameter name list declaration wrappers.h:102: error: previous implicit declaration of 'ioctl' was here make[2]: *** [ip-sentinel.o] Error 1 make[2]: Leaving directory `/opt/tmp/ip-sentinel-0.12/ip-sentinel-0.12/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/tmp/ip-sentinel-0.12/ip-sentinel-0.12' make: *** [all] Error 2
Смутное подозрение, что проблемы с исходником..
The God is real, unless declared as integer
Зеркало для ipkg и старые пакеты (с 08.06.11)
Зеркало для opkg и старые пакеты (с 24.03.12)
Скомпилировал. Пришлось заинклудить stropts.h, скопировать его и еще пару файлов из glibc с linux сервера, так как uclibc не поддерживает потоки.
Что-то не получается
Что можно сделать?Code:[admin@WL-001D60DFFAB5 psybnc]$ make menuconfig Initializing Menu-Configuration[*] Running Conversion Tool for older psyBNC Data. make: gcc: Command not found make: *** [menuconfig] Error 127
нужен именно psyBNC или подойдет любой другой BNC?
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon