Ошибки при сборке кросс-компилятора на Debian - PullRequest
1 голос
/ 16 марта 2011

Я хочу кросс-компилировать ядро ​​для powerpc.Я попытался сделать это на x86_64 Ubuntu 10.04 и i386 Debian Lenny, и у меня точно такая же проблема.Я следую инструкциям на http://wiki.debian.org/BuildingCrossCompilers,, и когда я пытаюсь собрать binutils, давая следующую команду:

fakeroot debian/rules binary-cross

, я получаю такой результат:

[snip]
make[3]: Entering directory `/home/anthony/cross-toolchain/binutils-2.20.1/builddir-powerpc-linux-gnu/libiberty'
if [ x"-fpic" != x ]; then \
gcc -c -DHAVE_CONFIG_H -g -O2 -Wno-format-security -I. -I../../libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic -fpic ../../libiberty/regex.c -o pic/regex.o; \
else true; fi
In file included from /usr/include/stdlib.h:320,
from ../../libiberty/regex.c:128:
/usr/include/sys/types.h:100: error: two or more data types in declaration specifiers
make[3]: *** [regex.o] Error 1
[snip] 

(Этоэто потому, что types.h пытается typedef pid_t, который, однако, был #defined для int. Если я разобью эту проблему с помощью #undef pid_t внутри types.h, я получу похожую проблему в другом месте с intptr_t, и так далеена.)

1 Ответ

0 голосов
/ 23 марта 2011

Если все, что вам нужно сделать, это кросс-компиляция ядра, вы должны быть в состоянии сделать следующее:

CROSS_COMPILE=<portion of command before gcc> make ARCH=powerpc menuconfig
make ARCH=powerpc all
#...other for modules, docs, etc.

Убедитесь, что у вас есть кросс-компилятор на вашем пути.Для установки переменной CROSS_COMPILE, если ваша команда кросс-компиляции для gcc равна ppc_74xx-gcc , вы должны установить CROSS_COMPILE = ppc_74xx-

Вы можете взглянуть наэту ссылку для получения дополнительной информации http://wiki.ppckernel.org/w/Cross_compiling_a_64-bit_PowerPC_Linux_Kernel

Если вы хотите создать свой собственный перекрестный набор инструментов с нуля, ознакомьтесь с http://trac.cross -lfs.org / Этот сайт показывает, каккросс-компиляция Linux с нуля, включая создание собственного набора инструментов, ядра, пространства пользователя и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...