Re: linux-next: build failure after merge of the tip tree
From: Sedat Dilek
Date: Tue Mar 01 2016 - 02:28:27 EST
On Tue, Mar 1, 2016 at 8:07 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
>> Hi all,
>>
>> After merging the tip tree, today's linux-next build (x86_64 allmodconfig)
>> failed like this:
>>
>> DESCEND objtool
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/builtin-check.o
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/special.o
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/elf.o
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/objtool.o
>> MKDIR /home/sfr/next/x86_64_allmodconfig/tools/objtool/arch/x86/insn/
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/libstring.o
>> elf.c:22:23: fatal error: sys/types.h: No such file or directory
>> compilation terminated.
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/exec-cmd.o
>> CC /home/sfr/next/x86_64_allmodconfig/tools/objtool/help.o
>> builtin-check.c:28:20: fatal error: string.h: No such file or directory
>> compilation terminated.
>> objtool.c:28:19: fatal error: stdio.h: No such file or directory
>> compilation terminated.
>>
>> and further errors ...
>>
>> This build is done with a PowerPC hosted cross compiler with no glibc.
>
> Ugh, what a rare and weird way to build an x86 kernel, and you made linux-next
> dependent on it?
>
>> I assume that some things here need to be built with HOSTCC?
>
> I suspect that's the culprit. Do you now mandate people to have PowerPC systems as
> a requirement to merge to linux-next? How are people supposed to be able to test
> that rare type of build method which does not matter to 99.99% of our kernel
> testers and users?
>
>From my experience in using different $COMPILER you should always pass
CC and HOSTCC in your make-line when building a Linux-kernel or
playing with the Kconfig-system.
When building my llvm-toolchain with make/autoconf I had also to pass
CC and CXX to my configure-line otherwise you got misconfiguration.
[ EXAMPLE: Linux Kconfig-system ]
$ MAKE="make V=1" ; COMPILER="mycompiler" ; MAKE_OPTS="CC=$COMPILER
HOSTCC=$COMPILER"
$ yes "" | $MAKE $MAKE_OPTS oldconfig && $MAKE $MAKE_OPTS
silentoldconfig < /dev/null
- Sedat -