All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: Sudeep Holla <sudeep.holla@arm.com>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@kernel.org>,
	Wang Nan <wangnan0@huawei.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Ingo Molnar <mingo@redhat.com>,
	acme@kernel.org
Subject: Re: [PATCH 2/2] tools: perf: fix build error in uapi/linux/mman.h
Date: Tue, 10 Jan 2017 12:43:48 -0200	[thread overview]
Message-ID: <20170110144348.GA2176@redhat.com> (raw)
In-Reply-To: <1484043770-13206-2-git-send-email-sudeep.holla@arm.com>

Em Tue, Jan 10, 2017 at 10:22:50AM +0000, Sudeep Holla escreveu:
> All the other occurrence refer "uapi/asm-generic/*.h" directly instead
> of "uapi/asm/*.h" in tools/include except mman.h. Without this patch,
> the following build failure is seen.
> 

Seen where? I don't see it here, and I build perf for lots of different
systems:

  # time dm
   1 alpine:3.4: Ok
   2 android-ndk:r12b-arm: Ok
   3 archlinux:latest: Ok
   4 centos:5: Ok
   5 centos:6: Ok
   6 centos:7: Ok
   7 debian:7: Ok
   8 debian:8: Ok
   9 debian:experimental: Ok
  10 debian:experimental-x-arm64: Ok
  11 debian:experimental-x-mips64: Ok
  12 debian:experimental-x-mipsel: Ok
  13 fedora:20: Ok
  14 fedora:21: Ok
  15 fedora:22: Ok
  16 fedora:23: Ok
  17 fedora:24: Ok
  18 fedora:24-x-ARC-uClibc: Ok
  19 fedora:25: Ok
  20 fedora:rawhide: Ok
  21 mageia:5: Ok
  22 opensuse:13.2: Ok
  23 opensuse:42.1: Ok
  24 opensuse:tumbleweed: Ok
  25 ubuntu:12.04.5: Ok
  26 ubuntu:14.04.4-x-linaro-arm64: Ok
  27 ubuntu:15.10: Ok
  28 ubuntu:16.04: Ok
  29 ubuntu:16.04-x-arm: Ok
  30 ubuntu:16.04-x-arm64: Ok
  31 ubuntu:16.04-x-powerpc: Ok
  32 ubuntu:16.04-x-powerpc64: Ok
  33 ubuntu:16.04-x-powerpc64el: Ok
  34 ubuntu:16.04-x-s390: Ok
  35 ubuntu:16.10: Ok

The ones for cross compiling (-x-) mostly don't have the full set of
devel packages, but even so, I am not seeing this problem, can you
please describe more precisely the environment where you notice this
problem?

Assuming this is on ARM, based on your e-mail address, for instance,
debian:experimental-x-arm64 is built with this Dockerfile, look at the
packages used:

[root@jouet x-arm64]# cat Dockerfile 
# docker.io/acmel/linux-perf-tools-build-debian:experimental-x-arm64
FROM docker.io/debian:experimental
MAINTAINER Arnaldo Carvalho de Melo <acme@kernel.org>
#ENV DEBIAN_FRONTEND noninteractive
# libelf-dev, a host package, is needed to build objtool, that will run
# on the host checking target object files. It is also needed for samples/bpf/,
# but that is disabled as cross compilation is not available for it, would require
# a cross clang, etc.
# objtool is disabled because it requires a per arch function that is
# missing for
# arm64:
# make[1]: Leaving directory '/git/linux/tools/objtool'
#   LINK     /tmp/build/objtool/objtool
# /tmp/build/objtool/objtool-in.o: In function `decode_instructions':
# /git/linux/tools/objtool/builtin-check.c:296: undefined reference to `arch_decode_instruction'
# collect2: error: ld returned 1 exit status
# Makefile:45: recipe for target '/tmp/build/objtool/objtool' failed
# make: *** [/tmp/build/objtool/objtool] Error 1
# make: Leaving directory '/git/linux/tools/objtool'
# debian:experimental-x-arm64: FAIL
ENV ARCH arm64
ENV TARGET aarch64-linux-gnu
RUN dpkg --add-architecture ${ARCH} && \
    apt-get -y update && \
    apt-get -y install \
	make flex bison \
	crossbuild-essential-${ARCH} \
	libaudit-dev:${ARCH} \
	libdw-dev:${ARCH} \
	libelf-dev:${ARCH} \
	liblzma-dev:${ARCH} \
	libnuma-dev:${ARCH} \
	libperl-dev:${ARCH} \
	libslang2-dev:${ARCH} \
	libssl-dev:${ARCH} \
	libunwind-dev:${ARCH} \
	systemtap-sdt-dev:${ARCH} && \
    apt-get -y clean && \
    rm -rf /usr/share/doc /usr/share/gtk-doc /usr/share/locale /usr/share/man && \
    mkdir -m 777 -p /tmp/build/perf /tmp/build/objtool /tmp/build/linux && \
    groupadd -r perfbuilder && \
    useradd -m -r -g perfbuilder perfbuilder && \
    unset TARGET INSTALLDIR TARGETMACH CROSS CC LD AS && \
    chown -R perfbuilder.perfbuilder /tmp/build/
USER perfbuilder
ENTRYPOINT make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux/tools/perf O=/tmp/build/perf && \
	   rm -rf /tmp/build/perf/{.[^.]*,*} && \
	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux/tools/perf O=/tmp/build/perf NO_LIBELF=1
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux/tools/objtool O=/tmp/build/objtool && \
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux O=/tmp/build/linux allmodconfig && \
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux O=/tmp/build/linux headers_install && \
#	   make ARCH=${ARCH} CROSS_COMPILE=${TARGET}- -C /git/linux O=/tmp/build/linux samples/bpf/
[root@jouet x-arm64]#

>  In file included from util/event.c:2:0:
>  tools/include/uapi/linux/mman.h:4:27: fatal error: uapi/asm/mman.h: No such file or directory
>  compilation terminated.
> 
> Fixes: f3539c12d819 ("tools include: Add uapi mman.h for each architecture")
> Cc: Wang Nan <wangnan0@huawei.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> ---
>  tools/include/uapi/linux/mman.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/include/uapi/linux/mman.h b/tools/include/uapi/linux/mman.h
> index 81d8edf11789..74a19ae15cd1 100644
> --- a/tools/include/uapi/linux/mman.h
> +++ b/tools/include/uapi/linux/mman.h
> @@ -1,7 +1,7 @@
>  #ifndef _UAPI_LINUX_MMAN_H
>  #define _UAPI_LINUX_MMAN_H
>  
> -#include <uapi/asm/mman.h>
> +#include <uapi/asm-generic/mman.h>
>  
>  #define MREMAP_MAYMOVE	1
>  #define MREMAP_FIXED	2
> -- 
> 2.7.4

  reply	other threads:[~2017-01-10 14:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-10 10:22 [PATCH 1/2] tools: perf: fix linker error when libelf config is disabled Sudeep Holla
2017-01-10 10:22 ` [PATCH 2/2] tools: perf: fix build error in uapi/linux/mman.h Sudeep Holla
2017-01-10 14:43   ` Arnaldo Carvalho de Melo [this message]
2017-01-10 17:13     ` Sudeep Holla

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170110144348.GA2176@redhat.com \
    --to=acme@redhat.com \
    --cc=acme@kernel.org \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=sudeep.holla@arm.com \
    --cc=wangnan0@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.