Вообще последнее время собираю так:
скачал и поставил на PC colinux (проект предназначенный для запуска linux под win32)
затем
скачал и поставил тулчейн, сделал все как в инструкции, т.е.
прописал в profilesCode:svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware
после чего зашел в директорию optwareCode:export OPTWARE_TARGET="oleg"
и сделал
после этого либо пишу нужный mk файл для автоматической сборки,Code:make directories make toolchain
либо руками делаю нудную структуру каталогов, кладу нужные файлы по папкам, подготавливаю postinstall
и запускаю сборку руками, прописывая нужные опции.
если кросскомпиляция невозможна (иногда)
то сначала компилю нативно, потом полученные файлы пакую и перебрасываю на PC, где собираю в пакет.
Last edited by angel_il; 12-12-2007 at 09:10.
вот пример скрипта для ручной сборки пакета
перед этим создана папка shakespeer-0.9.5-ipkCode:cd /home/optware/optware/builds; PATH=/home/optware/optware/staging/opt/bin:/home/optware/optware/staging/bin:/opt/bin:/opt/sbin:/bin:/sbin:/usr/bin:/usr/sbin TAR_OPTIONS=--format=ustar ipkg-build -c -o root -g root /home/optware/optware/builds/shakespeer-0.9.5-ipk
с подпапками
CONTROL и opt
в /CONTROL лежит файл
control следующего содержания
в папке opt структура каталогов куда попадут файлы на целевой машине.Code:Package: shakespeer Architecture: mipsel Priority: optional Section: net Version: 0.9.5-4 Maintainer: ilia maslakov, Andrey aka Reyter Source: http://shakespeer.bzero.se/ Description: shakespeer DC++ client Depends: expat, libevent, libtecla Conflicts:
Code:./bin: queue_tool shakespeer share_tool sphashd sphubd sspeer ./etc: shakespeer.conf.sample
Давай значит так поступим. Я тут собрал версию net-tools с поддержкой ipv6, которая теперь точно покажет, кто на порту прописался. Сделай так:
И после того, как успешно пройдет установка скопипасть следующую команду:Code:# Удалим старый net-tools ipkg remove net-tools # Установим мою сборку. cd /tmp wget http://wl500g.info/attachment.php?attachmentid=2119 -O- | tar xv ipkg install net-tools-ipv6_1.60-1_mipsel.ipk
Она произведёт поиск в общеизвестных инициализационных скриптах на предмет имени программы, занявшей 22 порт.Code:for n in /opt/etc/init.d/S* /usr/local/sbin/post-*; do grep "$(netstat -pltn | awk '/:22/{print $7}' | awk -F/ '{print $2}')" $n && echo -e "\n$n\n"; done
Last edited by Mam(O)n; 16-12-2007 at 07:49. Reason: Упростил команду поиска.
Прошу прощенья что поднимаю старую тему, однака помощи клуба прошу.
Есть http://www.rapidshare.ru/556017 исходники линуксового эмулятора карточек, конкретно эта версия должна уметь conax для season интерфейса.
В общем пытаюсь собрать :
make dep
make clean
make
В результате ошибка, чего я делаю не так?
PHP Code:
login as: admin
admin@192.168.1.100's password:
[admin@(none) root]$ cd /tmp/harddisk/lincard/
[admin@(none) lincard]$ make dep
make: Warning: File `.depend' has modification time 1.2e+09 s in the future
gcc -MM -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" serfunc.c des.c ec.c ec_util.c ec_keys.c conax.c irdeto.c irdeto_v1_algorithm.c seca.c viaccess.c secaAlgorithm.c seca_keys.c nagra.c tpscrypt.c main.c command.c common.c config.c confutil.c videoguard.c debug.c ec-s.c std_log.c emu_options.c hexupd.c hexmmn4.c sha.c seca2Algorithm.c md5.c newcamd-client.c NagraFxEmu.c > .depend
make: warning: Clock skew detected. Your build may be incomplete.
[admin@(none) lincard]$ make clean
make: Warning: File `Makefile' has modification time 1.1e+09 s in the future
rm -f *.o *.a
cd nagra-rsa && make clean
make[1]: Entering directory `/tmp/harddisk/lincard/nagra-rsa'
make[1]: Warning: File `Makefile' has modification time 1.1e+09 s in the future
rm -f *o librsa.a test *~
make[1]: warning: Clock skew detected. Your build may be incomplete.
make[1]: Leaving directory `/tmp/harddisk/lincard/nagra-rsa'
make: warning: Clock skew detected. Your build may be incomplete.
[admin@(none) lincard]$ make
make: Warning: File `Makefile' has modification time 1.1e+09 s in the future
OSTARGET='UNIX' uname='Linux' date: 19700101
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o main.o main.c
main.c: In function 'main':
main.c:887: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o command.o command.c
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o config.o config.c
config.c: In function 'ConfigSection':
config.c:148: warning: pointer targets in passing argument 1 of 'StrNoCaseCmp' differ in signedness
config.c: In function 'ConfigVarVal':
config.c:208: warning: pointer targets in passing argument 2 of 'SetU' differ in signedness
config.c:211: warning: pointer targets in passing argument 2 of 'SetU' differ in signedness
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o std_log.o std_log.c
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o emu_options.o emu_options.c
ar r lce.a command.o config.o std_log.o emu_options.o
ar: creating lce.a
ranlib lce.a
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o des.o des.c
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o ec.o ec.c
ec.c: In function 'log_current_status':
ec.c:84: warning: pointer targets in passing argument 2 of 'strcpy' differ in signedness
ec.c: In function 'DoEC':
ec.c:447: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
ec.c:448: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
ec.c:461: warning: pointer targets in passing argument 2 of 'sendbyte_n' differ in signedness
gcc -Wall -O2 -g -DUNIX -DUSE_PRIORITY_SCHEDULING -DVERS=\"0.21a\" -c -o conax.o conax.c
conax.c: In function 'ChangeConaxSubsystem':
conax.c:173: error: invalid lvalue in assignment
conax.c: In function 'ParseECM':
conax.c:702: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness
conax.c:702: warning: pointer targets in passing argument 2 of 'strncpy' differ in signedness
conax.c:740: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness
conax.c: In function 'build_OSD_txt':
conax.c:855: warning: pointer targets in passing argument 1 of 'strncpy' differ in signedness
conax.c: In function 'DoConax':
conax.c:1322: warning: pointer targets in passing argument 1 of 'sprintf' differ in signedness
conax.c:1497: warning: pointer targets in assignment differ in signedness
conax.c:1565: warning: pointer targets in assignment differ in signedness
conax.c:1695: warning: pointer targets in assignment differ in signedness
conax.c:1781: warning: pointer targets in assignment differ in signedness
conax.c:1883: warning: pointer targets in assignment differ in signedness
conax.c:1885: warning: pointer targets in assignment differ in signedness
conax.c:1969: warning: pointer targets in passing argument 1 of 'SetUL' differ in signedness
make: *** [conax.o] Error 1
[admin@(none) lincard]$
Спасибо за ответ, проблема в том что там нет configure .
Сейчас собираю прямо на роутере, есть ещё установленная mandriva 2007
куда был скачан svn co http://svn.nslu2-linux.org/svnroot/optware/trunk optware .
Имхо моя проблема глобальна, я не понимаю что из чего следует, поэтому топчусь на месте
Если у кого будет время, обьясните пожалуйста на пальцах про нативную и кросс-компиляцию, на примере чего-нибудь легковесного и не имеющего *.ipk, потому что пакеты его имеющие у меня на роутере собираются.
Спасибо
Игорь
первая проблема в:
придется тебе смотреть код...Code:conax.c: In function 'ChangeConaxSubsystem': conax.c:173: error: invalid lvalue in assignment
про кросс-компиляцию все очень просто - тебе нужен не родной gcc поставляемый с мандривой, а кросс-компилер. Он есть, например, в broadcom'овском toolchain'е. Как его ставить написано в местном FAQ, а зваться он будет mipsel-uclibc-gcc.
Тебе придется подправить Makefile на предмет названия компилятора и, возможно ld
А как узнать, с какими опциями был собран пакет?
лучше всего посмотреть в исходники
- В файле config.log обычно сохраняется коммандная строка, которой был запущен configure
- Если речь идет об optware , то тут еще проще --- смотреть в файл *.mk
Косвенно некоторую информацию можно получить с помощью комманды ldd