All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Wangnan (F)" <wangnan0@huawei.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>,
	Milian Wolff <milian.wolff@kdab.com>,
	jiri@infradead.org, He Kuang <hekuang@huawei.com>
Cc: linux-perf-users@vger.kernel.org
Subject: Re: cross compiling perf
Date: Mon, 20 Jun 2016 09:56:09 +0800	[thread overview]
Message-ID: <57674D39.1000104@huawei.com> (raw)
In-Reply-To: <20160617110056.GJ13337@kernel.org>



On 2016/6/17 19:00, Arnaldo Carvalho de Melo wrote:
> Adding some folks to the CC list, that either worked on the make
> infrastructure or that I know works with cross compiling environments,
> maybe they can help.
>
> More below.
>
> Em Fri, Jun 17, 2016 at 11:49:28AM +0200, Milian Wolff escreveu:
>> On Donnerstag, 16. Juni 2016 13:11:11 CEST Arnaldo Carvalho de Melo wrote:
>>> Em Wed, Jun 15, 2016 at 04:24:52PM +0200, Milian Wolff escreveu:
>>>> I'm trying to compile a more modern version of the user-space perf tools
>>>> for an arm64 embedded target. So far, no cigar.
>>>>
>>>> Neither tools/build/Documentation nor tools/perf/Documentation/Build.txt
>>>> explain how this should be done. Right now, I'm trying the following from
>>>> an SDK with an environment that already sets up CC, CFLAGS etc. pp.
>>>>
>>>> [SDK] ~/milian/linux/tools/perf$ make ARCH=arm64 CROSS_COMPILE=/home/sdk/
>>>> sysroots/x86_64-oesdk-linux/usr/bin/aarch64-gnu-linux/aarch64-gnu-linux-
>>>> CFLAGS="--sysroot=/home/sdk/sysroots/aarch64-gnu-linux
>>>> -I/home/milian/target- prefix/include -L/home/milian/target-prefix/lib
>>>> $CFLAGS"
>>>>
>>>>    BUILD:   Doing 'make -j8' parallel build
>>>>
>>>> Auto-detecting system features:
>>>> ...                         dwarf: [ OFF ]
>>>> ...            dwarf_getlocations: [ OFF ]
>>>> ...                         glibc: [ OFF ]
>>>> ...                          gtk2: [ OFF ]
>>>> ...                      libaudit: [ OFF ]
>>>> ...                        libbfd: [ OFF ]
>>>> ...                        libelf: [ OFF ]
>>>> ...                       libnuma: [ OFF ]
>>>> ...        numa_num_possible_cpus: [ OFF ]
>>>> ...                       libperl: [ OFF ]
>>>> ...                     libpython: [ OFF ]
>>>> ...                      libslang: [ OFF ]
>>>> ...                     libcrypto: [ OFF ]
>>>> ...                     libunwind: [ OFF ]
>>>> ...            libdw-dwarf-unwind: [ OFF ]
>>>> ...                          zlib: [ OFF ]
>>>> ...                          lzma: [ OFF ]
>>>> ...                     get_cpuid: [ OFF ]
>>>> ...                           bpf: [ OFF ]
>>>>
>>>> config/Makefile:272: *** No gnu/libc-version.h found, please install
>>>> glibc-
>>>> dev[el].  Stop

I think this error message is missleading. Let's see source code:

ifdef NO_LIBELF
   ...
else
   ifeq ($(feature-libelf), 0)
     ifeq ($(feature-glibc), 1)
       LIBC_SUPPORT := 1
     endif
     ifeq ($(BIONIC),1)
       LIBC_SUPPORT := 1
     endif
     ifeq ($(LIBC_SUPPORT),1)
       ...
     else
       ifneq ($(filter s% -static%,$(LDFLAGS),),)
         msg := $(error No static glibc found, please install glibc-static);
       else
         msg := $(error No gnu/libc-version.h found, please install 
glibc-dev[el]);
       endif
     endif
   else
     ...
   endif # libelf support
endif # NO_LIBELF

So the 'libc-version.h' error message really means the failure of 
feature-glibc detector.
There's many reasons cause libc detector fail. 'libc-version.h' in error 
message provides
wrong clue, lead user to check this file instead of checking feature 
check result.

Thank you.

>>>> How can I figure out where perf's buildsystem is looking for the
>>>> dependencies? How can I configure it to look into both, my sysroot as
>>>> well as a secondary path that contains some additional software I
>>>> compiled manually?
>>>
[SNIP]

  reply	other threads:[~2016-06-20  1:57 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-15 14:24 cross compiling perf Milian Wolff
2016-06-15 15:47 ` Kim Phillips
2016-06-27 11:56   ` Milian Wolff
2016-06-16 16:11 ` Arnaldo Carvalho de Melo
2016-06-17  9:49   ` Milian Wolff
2016-06-17 11:00     ` Arnaldo Carvalho de Melo
2016-06-20  1:56       ` Wangnan (F) [this message]
2016-06-27 11:56         ` Milian Wolff
2016-08-03 20:56           ` Milian Wolff
2016-08-04 13:22             ` Arnaldo Carvalho de Melo
2016-08-04 15:02               ` Milian Wolff
2016-08-04 18:36                 ` Arnaldo Carvalho de Melo
2016-08-04 21:58                   ` Milian Wolff
2016-08-05  0:13                     ` Arnaldo Carvalho de Melo
2016-08-12 10:48                       ` Milian Wolff

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=57674D39.1000104@huawei.com \
    --to=wangnan0@huawei.com \
    --cc=acme@kernel.org \
    --cc=hekuang@huawei.com \
    --cc=jiri@infradead.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=milian.wolff@kdab.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.