Page 1 of 7 123 ... LastLast
Results 1 to 15 of 96

Thread: Нативная компиляция пакетов на роутере

  1. #1

    Exclamation Нативная компиляция пакетов на роутере

    Можно ли откомпилировать простую программу на С средствами роутера? Какой пакет надо поставить на роутер для этого.Или может под Xp есть компилятор который может делать исполняемые файлы для роутера.
    Спасибо.

  2. #2
    Join Date
    May 2006
    Location
    Екатеринбург
    Posts
    182
    Пакет buildroot.
    Как ставить: http://wl500g.info/showthread.php?t=2036&page=5
    68 пост

  3. #3
    Join Date
    Aug 2006
    Location
    Moscow, Russia
    Posts
    788
    А я из за лени разбираться с cross-compiling и ASUS toolchain на роутер установил из репозитария http://ipkg.nslu2-linux.org/feeds/op.../cross/stable/ пакет "buildroot - 4.1.1-12 - uClibc compilation toolchain" и все у меня теперь компилируется на роутере. Не быстро конечно, но приемлемо.

  4. #4
    Join Date
    Oct 2006
    Location
    Russia, Kursk
    Posts
    74
    Quote Originally Posted by Mam(O)n View Post
    все у меня теперь компилируется на роутере. Не быстро конечно, но приемлемо.
    5+++++++++. Супер... Сейчас же поставлю...


  5. Quote Originally Posted by Mam(O)n View Post
    А я из за лени разбираться с 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. Теперь пытаюсь кросс-компилировать его под роутер.

  6. Quote Originally Posted by Mam(O)n View Post
    А я из за лени разбираться с cross-compiling и ASUS toolchain на роутер установил из репозитария http://ipkg.nslu2-linux.org/feeds/op.../cross/stable/ пакет "buildroot - 4.1.1-12 - uClibc compilation toolchain" и все у меня теперь компилируется на роутере. Не быстро конечно, но приемлемо.
    Установил пакет "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 и ... Подскажите пожалуйста.

  7. #7

    Вопрос о копмиляции на wl500gp: что делать с mipsel-linux-ar?

    Собираю медиасервер, для него необходимо несколько пакетов, которых нет в 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

  8. #8
    Join Date
    Nov 2006
    Location
    Russia, Moscow
    Posts
    3,640
    Я думаю нужно оставить просто ar. В комплекте buildroot_4.1.1-12_mipsel.ipk он есть.

  9. #9
    cпасибо, заработало, продолжу мучаться с компиляцией

  10. #10

    Question Вопрос по компиляции и установке пакета для perl

    Для медиасервера, который я уже третий день тщетно устанавливаю, помимо всего, нужен пакет YAML-Syck. Я скачал, скомпилировал (используя пакеты buildroot и perl) и установил его (make, make test (все тесты прошли ok), make install). Все без ошибок, все необходимые файлы "лежат" на своих местах. НО perl пакет не видит (несмотря на то, что тесты при установке работают). Проверяю так (просто запуск строчки кода из командной строки):
    Code:
    perl -MYAML::Syck -le 'print YAML::Syck::Dump({})'
    в ответ:
    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
    Я не знаток perl, но происходит примерно следующее: perl не находит данный пакет и пытается сделать AUTOLOAD функции Dump - поэтому ищет файл Dump.al, которого нет и по идее не должно быть.
    Что еще я не сделал при установке пакета YAML-Syck?

  11. #11

    Ошибка во время компиляции

    Всем привет! Помогите решить проблему: во время компиляции программы на роутере выскакивает ошибка:

    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

  12. #12
    Join Date
    Jun 2008
    Location
    Russia, Perm
    Posts
    476
    Смутное подозрение, что проблемы с исходником..

  13. #13
    Скомпилировал. Пришлось заинклудить stropts.h, скопировать его и еще пару файлов из glibc с linux сервера, так как uclibc не поддерживает потоки.

  14. #14

    Компиляция psyBNC

    Что-то не получается
    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
    Что можно сделать?

  15. #15

Page 1 of 7 123 ... LastLast

Similar Threads

  1. Компиляция пакетов - помогите, пожалуйста..
    By Lt_Flash in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 277
    Last Post: 21-02-2016, 10:18
  2. Компиляция open-zwave
    By LnrMn in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 140
    Last Post: 24-12-2012, 01:39
  3. Кросс-компиляция rTorrent
    By al37919 in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 94
    Last Post: 22-04-2012, 20:48
  4. Компиляция mc
    By angel_il in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 432
    Last Post: 02-12-2011, 15:32
  5. Потери пакетов
    By oradba in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 135
    Last Post: 27-09-2011, 19:09

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •