2015-02-22 2 views
3

Недавно я попытался построить busybox для архитектуры MIPS, выполнив шаги, описанные в книге «Pro Linux Embbeded Systems». Заранее, я успешно установил и настроил crosstool-ng для работы с MIPS.Ошибка в команде busybox make для mips

В busybox я установил префикс CROSS_COMPILER для одного присутствующего в каталоге x-tools (сгенерированный из crosstool-ng).

Однако, когда команда делают запускается, появляется следующее сообщение:

applets/applets.c:1:0: warning: cannot use small-data accesses for '-mabicalls' 
/* vi: set sw=4 ts=4: */ 
^ 
In file included from include/libbb.h:13:0, 
       from include/busybox.h:10, 
       from applets/applets.c:11: 
include/platform.h:120:23: fatal error: byteswap.h: No such file or directory 
# include <byteswap.h> 
        ^
compilation terminated. 
make[1]: *** [applets/applets.o] Error 1 
make: *** [applets] Error 2 

В этом смысле, я спрашиваю: Как исправить эту проблему отсутствует заголовок? Должен ли я копировать из/usr/include или вытаскивать его из исходного кода glibc или что-то в этом роде?

ответ

0

Ваш кросс-компилятор должен иметь версии MIPS файлов заголовков. Там должны быть include и usr/include каталоги, содержащие файлы, такие как версия MIPS byteswap.h. Возможно, вам потребуется указать аргумент --sysroot для gcc, чтобы сообщить ему, где находятся целевые файлы заголовков.

Не копируйте заголовки из главной системы, что приведет к тонким ошибкам.

+0

Hm..Понятый, markgz. Спасибо за ответ. Я собираюсь проверить это. –