Page 1 of 9 123 ... LastLast
Results 1 to 15 of 278

Thread: Компиляция пакетов - помогите, пожалуйста..

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Wink Компиляция пакетов - помогите, пожалуйста..

    Quote Originally Posted by kon-nor View Post
    Это кросс-компиляция выдает или нативная? Просто, у меня прямо в асусе скомпилировалось без малейшего приложения напильника.


    Зачем? И какие команды имеются в виду?
    Это кросс-компиляция на той же машине, где я собрал полностью прошивку для Асуса.

  2. #2
    Join Date
    Jun 2007
    Location
    Saint-Petersburg
    Posts
    119
    значит между кросс-компиляцией и нормальной компиляцией имеются различия. прямо в роутере все отлично компиляется.

  3. #3
    может, чтоб не мучить расскажите, как компилировать в роуторе

  4. #4
    Join Date
    Mar 2007
    Location
    Russia, Ryazan
    Posts
    696
    Quote Originally Posted by oleg066 View Post
    может, чтоб не мучить расскажите, как компилировать в роуторе
    Очень просто.
    ipkg install optware-devel
    подождать, пока все 70 МБайт (или около того) девелоперского набора скачаются и установятся.
    Затем распаковать содержимое архива с исходниками на винт.
    Перейти в каталог с исходниками:
    cd /tmp/harddisk/dbhub-0.441 (ну или где там у тебя каталог будет лежать)
    затем сконфигурировать
    ./configure --prefix=/opt
    затем скомпилировать:
    make
    или же
    make install (чтобы скомпилированные бинарники и-что-там-еще сразу скопировались в нужные каталоги)
    Все.

  5. #5
    Join Date
    Jun 2007
    Location
    Saint-Petersburg
    Posts
    119
    Кстати, а есть ли средство делать внутри роутера ipkg-шки? Имеется в виду уже что-то готовое, без опиливания рашпилем

  6. #6
    Join Date
    Mar 2007
    Location
    Russia, Ryazan
    Posts
    696
    Quote Originally Posted by kon-nor View Post
    Кстати, а есть ли средство делать внутри роутера ipkg-шки? Имеется в виду уже что-то готовое, без опиливания рашпилем
    Да вроде рашпиля не требуется. Сам я пока не пробовал, вот здесь вроде бы все понятно описано.
    Т.е. один раз для контретного пакета все настроить, а потом только обновленные файлы по мере выхода новых версий подкидывать.

  7. #7
    по поводу компилирования в самом роутере:
    Quote Originally Posted by Reyter View Post
    затем сконфигурировать
    ./configure --prefix=/opt
    Все.
    У меня пишет
    Code:
    ./configure --prefix=/opt
    -sh: ./configure: Permission denied
    Что ему не нравится?

  8. #8

    Скомпилируйте, пожалуйста..

    ДД,

    мы сами не местные, в репозитории савсэм старая версия, не скомпилит ли
    кто под наш роутер?

    http://www.heyu.org/download/heyu-2.3.2.tgz

    Заранее спасибо,
    eugenem

  9. #9

  10. #10
    ipk-пакет в аттаче
    Attached Files Attached Files

  11. #11
    Quote Originally Posted by Nebulosa View Post
    ipk-пакет в аттаче
    Спасибо.

    Eugenem

  12. #12

    Question Кросс компиляция helloworld.c

    Всем привет!

    Установил весь toolchain, собрал работающую прошивку, т.е. кросс-компиляция 100% работает.

    Попробовал откомпилировать простенькую программку:
    Code:
    #include <stdio.h>
    
    int main(int argc, char **argv)
    {
        printf("Hello world!");
        return 0;
    }
    Вот так:
    Code:
    mipsel-linux-gcc -o hello hello.c
    Получился ELF размером 15962 байта.

    На x86 машине на которой компилировал ессно выдаёт:
    Code:
    bash: ./hello: cannot execute binary file
    Но и на раутере WL500gPV2 (поместил на флэшке, примонтированной в /opt прям в корень) выдаёт:
    Code:
    -sh: ./hello: not found
    Что я делаю не так?

    Если я в своих Makefile'ах (другая программа - чуть посложнее hello world ) поставлю вместо "CC = g++" -> "CC = mipsel-linux-g++" - этого достаточно?
    (компиляция проходит успешно, ELF получается, но на раутере почему-то не работает так же как и hello world)

  13. #13

    Smile

    И с этим разобрался!!!

    Добавил при линковке ключ:
    Code:
    -static
    Но хотелось бы чтоб ELFники были поменьше...

    Что надо сделать, чтобы библиотеки использовать динамически и чтоб ELF их находил - кто знает?

  14. #14
    Quote Originally Posted by RekoD View Post
    Но хотелось бы чтоб ELFники были поменьше...
    Можно ещё компилировать без отладочной информации и с оптимизацией по размеру (в ущерб производительности видимо). Ключ компилятора -Os. У готового бинарника убрать отладочную информацию можно командой strip.

    Quote Originally Posted by RekoD View Post
    Что надо сделать, чтобы библиотеки использовать динамически и чтоб ELF их находил - кто знает?
    А бинарники вроде и так динамически собираются (сам же говоришь что без -static динамически собирались). Если тулчейн тот же, которым корневая фс собиралась, то делать ничего вроде бы и не надо, ну может быть прописать LD_LIBRARY_PATH=/lib:<путь к твоим библиотекам>.
    А вообще при компиляции указываешь -L<путь к библиотеке> и -l<сама библиотека>. Например, если у тебя на компе в /opt/mips-lib/ лежит математическая библиотека libm.so, то указываешь mipsel-linux-gcc -L/opt/mips-lib -lm -o hello hello.c. Эту libm.so потом нужно ещё на роутер скопировать, если её там нету.

  15. #15

    Wink Пишем "Hello world" на роутере

    Насколько я понял, писать собственные программы для роутера можно только на С, ибо библиотека С++ для архитектуры mipsel находится в стадии альфа и не пригодна для использования. Не будет ли кто-нибудь так добр чтобы объяснить как скомпилировать собственную программу типа "Hello World" на С нативно на самом роутеру и с помощью тулчейна =)

    P.S. Заранее спасибо за любую ценную информацию по теме...

    P.S.2. Отвечая на свой вопрос:
    Чтобы скомпилировать программу на "большом" компьютере для роутера надо установить тулчейн (не раз обсуждалось на форуме), потом найти в папочке /optware/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin компилятор mipsel-linux-g++ и с помощью него компилировать бинарные файлы, которые не хотят исполняться на PC, зато замечательно отрабатывают на роутере )
    Last edited by featZima; 02-04-2009 at 23:06.

Page 1 of 9 123 ... LastLast

Similar Threads

  1. Кросс-компиляция rTorrent
    By al37919 in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 94
    Last Post: 22-04-2012, 19:48
  2. Компиляция mc
    By angel_il in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 432
    Last Post: 02-12-2011, 14:32
  3. Нативная компиляция пакетов на роутере
    By shi in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 95
    Last Post: 04-11-2011, 13:53
  4. HP 1000w + Asus WL-500GP v.2 (1.9.2.7-10). Помогите пожалуйста.
    By shevtsov in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1
    Last Post: 12-07-2009, 11:20

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
  •