Erros cross-compiling com distcc

2

Atualmente estou tentando construir o kernel do Raspbian usando um compilador cruzado (para o processador ARM do Raspberry Pi 2) e o distcc, com base nas instruções postadas no Web site do Framboesa Pi . Eu tenho dois computadores, meu laptop e um equipamento de jogos mais antigo que eu adaptei para usar como nó de compilação. Ambos executam o Ubuntu Linux 15.04 x86-64 e podem completar uma compilação do kernel do Linux para o Raspberry Pi quando executados independentemente. Claro, não há graça nisso, então estou trabalhando em um projeto para usar os dois computadores ao mesmo tempo com o distcc. Eu compilei com sucesso um simples "Hello, world!" programa entre os dois nós. No entanto, ao passar para o código do kernel, começo a receber grandes erros. Os comandos (e os erros subsequentes) estão abaixo:

user@user-ThinkPad-T420:~/linux$ make clean
  CLEAN   .tmp_versions
user@user-ThinkPad-T420:~/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/bin2c
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
user@user-ThinkPad-T420:~/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CC=distcc -j12 zImage modules dtbs
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  HOSTCC  scripts/kallsyms
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/pnmtologo
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/recordmcount
  HOSTCC  scripts/genksyms/genksyms.o
  CC      scripts/mod/empty.o
cc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
cc: note: valid arguments to ‘-mabi=’ are: ms sysv
cc: error: unrecognized command line option ‘-mlittle-endian’
cc: error: unrecognized command line option ‘-mapcs’
cc: error: unrecognized command line option ‘-mno-sched-prolog’
cc: error: unrecognized command line option ‘-mno-thumb-interwork’
cc: error: unrecognized command line option ‘-mfpu=vfp’
distcc[27109] ERROR: compile scripts/mod/empty.c on compiler failed
distcc[27109] (dcc_build_somewhere) Warning: remote compilation of 'scripts/mod/empty.c' failed, retrying locally
distcc[27109] Warning: failed to distribute scripts/mod/empty.c to compiler, running locally instead
  HOSTCC  scripts/dtc/flattree.o
cc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
cc: note: valid arguments to ‘-mabi=’ are: ms sysv
cc: error: unrecognized command line option ‘-mlittle-endian’
cc: error: unrecognized command line option ‘-mapcs’
cc: error: unrecognized command line option ‘-mno-sched-prolog’
cc: error: unrecognized command line option ‘-mno-thumb-interwork’
cc: error: unrecognized command line option ‘-mfpu=vfp’
distcc[27109] ERROR: compile scripts/mod/empty.c on localhost failed
scripts/Makefile.build:258: recipe for target 'scripts/mod/empty.o' failed
make[2]: *** [scripts/mod/empty.o] Error 1
scripts/Makefile.build:403: recipe for target 'scripts/mod' failed
make[1]: *** [scripts/mod] Error 2
make[1]: *** Waiting for unfinished jobs....
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/genksyms/parse.tab.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/genksyms/lex.lex.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTLD  scripts/genksyms/genksyms
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/util.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/dtc
make[1]: 'include/generated/mach-types.h' is up to date.
  CC      kernel/bounds.s
distcc[27382] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
cc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
cc: note: valid arguments to ‘-mabi=’ are: ms sysv
cc: error: unrecognized command line option ‘-mlittle-endian’
cc: error: unrecognized command line option ‘-mapcs’
cc: error: unrecognized command line option ‘-mno-sched-prolog’
cc: error: unrecognized command line option ‘-mno-thumb-interwork’
cc: error: unrecognized command line option ‘-mfpu=vfp’
distcc[27382] ERROR: compile kernel/bounds.c on localhost failed
Kbuild:43: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:990: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
make: *** Waiting for unfinished jobs....
Makefile:555: recipe for target 'scripts' failed
make: *** [scripts] Error 2

Usando o distcc, parece que recebo alguns erros relacionados a opções de comando não reconhecidas. Dado meu comando principal make :

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CC=distcc -j12 zImage modules dtbs

Existe algo que imediatamente se destaca como errado? Estou mordendo mais do que posso mastigar com compilações cruzadas e distribuídas ao mesmo tempo?

    
por nerdenator 14.10.2015 / 04:41

0 respostas