Re: [GIT PULL 00/28] perf/core fixes and cleanups

From: Arnaldo Carvalho de Melo
Date: Thu Apr 20 2017 - 13:11:22 EST


Em Thu, Apr 20, 2017 at 01:29:26PM +0200, Ingo Molnar escreveu:
>
> * Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
>
> > Em Thu, Apr 20, 2017 at 10:10:49AM +0200, Ingo Molnar escreveu:
> > > * Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> > > Pulled, thanks a lot Arnaldo!
> > >
> > > > For this specific pull request the samples/bpf/ was disabled, as 'make headers_install'
> > > > is failing with the following error, in this case in fedora:rawhide:
> > > >
> > > > INSTALL usr/include/uapi/ (0 file)
> > > > /git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file
> > > ./arch/x86/include/generated/uapi/asm/unistd_32.h. Stop.
> > > > make[1]: *** [/git/linux/Makefile:1151: headers_install] Error 2
> > > > make[1]: Leaving directory '/tmp/build/linux'
> > > > make: *** [Makefile:152: sub-make] Error 2
> > > > make: Leaving directory '/git/linux'
> > >
> > > Beyond this build fix,
> >
> > I haven't checked this lately, will do, hopefully this was already taken
> > care of by someone dealing with the headers_install code.
>
> Ah, sorry, I thought it's a problem introduced by perf - if it's an existing
> upstream bug then never mind!

Checking it now, this is what I disabled in the recent containers with
recent enough distros/tollchains to build this, like
debian:experimental:

+# make -C /git/linux O=/tmp/build/linux allmodconfig && \
+# make -C /git/linux O=/tmp/build/linux headers_install && \
+# make -C /git/linux O=/tmp/build/linux samples/bpf/o

[root@jouet bin]# dsh debian:experimental
$ bash
perfbuilder@91b0b6879760:/$ make -C /git/linux O=/tmp/build/linux allmodconfig
make: Entering directory '/git/linux'
make[1]: Entering directory '/tmp/build/linux'
HOSTCC scripts/basic/fixdep
GEN ./Makefile
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --allmodconfig Kconfig
#
# configuration written to .config
#
make[1]: Leaving directory '/tmp/build/linux'
make: Leaving directory '/git/linux'
perfbuilder@91b0b6879760:/$ make -C /git/linux O=/tmp/build/linux headers_install
make: Entering directory '/git/linux'
make[1]: Entering directory '/tmp/build/linux'
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
HOSTCC scripts/unifdef
INSTALL usr/include/asm-generic/ (35 files)
INSTALL usr/include/drm/ (22 files)
INSTALL usr/include/linux/android/ (1 file)
INSTALL usr/include/linux/byteorder/ (2 files)
INSTALL usr/include/linux/caif/ (2 files)
INSTALL usr/include/linux/can/ (5 files)
INSTALL usr/include/linux/dvb/ (8 files)
INSTALL usr/include/linux/hdlc/ (1 file)
INSTALL usr/include/linux/hsi/ (2 files)
INSTALL usr/include/linux/iio/ (2 files)
INSTALL usr/include/linux/isdn/ (1 file)
INSTALL usr/include/linux/mmc/ (1 file)
INSTALL usr/include/linux/netfilter/ipset/ (4 files)
INSTALL usr/include/linux/netfilter/ (87 files)
INSTALL usr/include/linux/netfilter_arp/ (2 files)
INSTALL usr/include/linux/netfilter_bridge/ (17 files)
INSTALL usr/include/linux/netfilter_ipv4/ (9 files)
INSTALL usr/include/linux/netfilter_ipv6/ (12 files)
INSTALL usr/include/linux/nfsd/ (5 files)
INSTALL usr/include/linux/raid/ (2 files)
INSTALL usr/include/linux/spi/ (1 file)
INSTALL usr/include/linux/sunrpc/ (1 file)
INSTALL usr/include/linux/tc_act/ (15 files)
INSTALL usr/include/linux/tc_ematch/ (4 files)
INSTALL usr/include/linux/usb/ (11 files)
INSTALL usr/include/linux/wimax/ (1 file)
INSTALL usr/include/linux/ (452 files)
INSTALL usr/include/misc/ (1 file)
INSTALL usr/include/mtd/ (5 files)
INSTALL usr/include/rdma/hfi/ (2 files)
INSTALL usr/include/rdma/ (18 files)
INSTALL usr/include/scsi/fc/ (4 files)
INSTALL usr/include/scsi/ (4 files)
INSTALL usr/include/sound/ (15 files)
INSTALL usr/include/video/ (3 files)
INSTALL usr/include/xen/ (4 files)
INSTALL usr/include/uapi/ (0 file)
/git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_64.h. Stop.
/git/linux/Makefile:1149: recipe for target 'headers_install' failed
make[1]: *** [headers_install] Error 2
make[1]: Leaving directory '/tmp/build/linux'
Makefile:152: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
make: Leaving directory '/git/linux'
perfbuilder@91b0b6879760:/$


Now if I try outside the container, on a fedora:25 system, same result:

[acme@jouet linux]$ rm -rf /tmp/build/linux
[acme@jouet linux]$ mkdir /tmp/build/linux
[acme@jouet linux]$ make O=/tmp/build/linux allmodconfig
make[1]: Entering directory '/tmp/build/linux'
HOSTCC scripts/basic/fixdep
GEN ./Makefile
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --allmodconfig Kconfig
#
# configuration written to .config
#
make[1]: Leaving directory '/tmp/build/linux'
[acme@jouet linux]$ make O=/tmp/build/linux headers_install
make[1]: Entering directory '/tmp/build/linux'
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
SYSTBL arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
SYSHDR arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
HOSTCC arch/x86/tools/relocs_common.o
HOSTLD arch/x86/tools/relocs
HOSTCC scripts/unifdef
INSTALL usr/include/asm-generic/ (35 files)
INSTALL usr/include/drm/ (22 files)
INSTALL usr/include/linux/android/ (1 file)
INSTALL usr/include/linux/byteorder/ (2 files)
INSTALL usr/include/linux/caif/ (2 files)
INSTALL usr/include/linux/can/ (5 files)
INSTALL usr/include/linux/dvb/ (8 files)
INSTALL usr/include/linux/hdlc/ (1 file)
INSTALL usr/include/linux/hsi/ (2 files)
INSTALL usr/include/linux/iio/ (2 files)
INSTALL usr/include/linux/isdn/ (1 file)
INSTALL usr/include/linux/mmc/ (1 file)
INSTALL usr/include/linux/netfilter/ipset/ (4 files)
INSTALL usr/include/linux/netfilter/ (87 files)
INSTALL usr/include/linux/netfilter_arp/ (2 files)
INSTALL usr/include/linux/netfilter_bridge/ (17 files)
INSTALL usr/include/linux/netfilter_ipv4/ (9 files)
INSTALL usr/include/linux/netfilter_ipv6/ (12 files)
INSTALL usr/include/linux/nfsd/ (5 files)
INSTALL usr/include/linux/raid/ (2 files)
INSTALL usr/include/linux/spi/ (1 file)
INSTALL usr/include/linux/sunrpc/ (1 file)
INSTALL usr/include/linux/tc_act/ (15 files)
INSTALL usr/include/linux/tc_ematch/ (4 files)
INSTALL usr/include/linux/usb/ (11 files)
INSTALL usr/include/linux/wimax/ (1 file)
INSTALL usr/include/linux/ (452 files)
INSTALL usr/include/misc/ (1 file)
INSTALL usr/include/mtd/ (5 files)
INSTALL usr/include/rdma/hfi/ (2 files)
INSTALL usr/include/rdma/ (18 files)
INSTALL usr/include/scsi/fc/ (4 files)
INSTALL usr/include/scsi/ (4 files)
INSTALL usr/include/sound/ (15 files)
INSTALL usr/include/video/ (3 files)
INSTALL usr/include/xen/ (4 files)
INSTALL usr/include/uapi/ (0 file)
/home/acme/git/linux/scripts/Makefile.headersinst:62: *** Missing generated UAPI file ./arch/x86/include/generated/uapi/asm/unistd_64.h. Stop.
/home/acme/git/linux/Makefile:1149: recipe for target 'headers_install' failed
make[1]: *** [headers_install] Error 2
make[1]: Leaving directory '/tmp/build/linux'
Makefile:152: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
[acme@jouet linux]$

Trying to investigate this further now... Perhaps I'm missing something
:-\

- Arnaldo