public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Borislav Petkov <bp@alien8.de>
Cc: Thomas Backlund <tmb@mageia.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jiri Olsa <jolsa@redhat.com>
Subject: Re: perf 3.8-rc build failure:  undefined reference to `strlcpy'
Date: Wed, 30 Jan 2013 13:56:34 +0900	[thread overview]
Message-ID: <87a9rruv3x.fsf@sejong.aot.lge.com> (raw)
In-Reply-To: <20130130032831.GA30965@pd.tnic> (Borislav Petkov's message of "Wed, 30 Jan 2013 04:28:31 +0100")

On Wed, 30 Jan 2013 04:28:31 +0100, Borislav Petkov wrote:
> On Wed, Jan 30, 2013 at 11:15:55AM +0900, Namhyung Kim wrote:
>> Please see my reply on another post from Thomas:
>> 
>>   https://lkml.org/lkml/2013/1/29/32
>> 
>> It's not like a build failure of perf tools, it's just a result of
>> feature test so should not affect the build of perf itself, right?
>
> Doh, I see it. It is the -DHAVE_STRLCPY test, of course. And it happens
> only with a V=1 build, so actually there's not a build problem.
>
>> Why it confuses us is that we don't show any compile message if -s
>> option is given to make, so I posted a patch to hide CHK and above
>> failure message when -s option is specified.
>
> Hm, trying your patch ontop of acme's perf/core still shows CHK stuff
>
> $ make -s tools/perf
>     DESCEND perf
>     CHK -fstack-protector-all
>     CHK -Wstack-protector
>     CHK -Wvolatile-register-var
>     CHK bionic
>     CHK libelf
>     CHK libdw
>     ...
>
>
> and that's because I'm doing the build from the toplevel repo and not in
> perf/. If I switch to perf first, it is silent:
>
> $ make -s
> Makefile:809: No bfd.h/libbfd found, install binutils-dev[el]/zlib-static to gain symbol demangling
> Makefile:846: No numa.h found, disables 'perf bench numa mem' benchmark, please install numa-libs-devel or libnuma-dev
> $

That's because the toplevel Makefile resets MAKEFLAGS in the middle:

Makefile:1330
  # Clear a bunch of variables before executing the submake
  tools/: FORCE
  	$(Q)mkdir -p $(objtree)/tools
  	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(objtree) subdir=tools -C $(src)/tools/
  
  tools/%: FORCE
  	$(Q)mkdir -p $(objtree)/tools
  	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS= O=$(objtree) subdir=tools -C $(src)/tools/ $*


So why should it be reset in the first place?

>
> Oh, and one more thing, there's tools/scripts/Makefile.include which
> looks at -s already and perf/Makefile includes it so you probably want
> to put your change there so that all tools use it.

Are you suggesting that moving "try-cc" to the Makefile.include?

Thanks,
Namhyung

  reply	other threads:[~2013-01-30  4:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-29  4:22 perf 3.8-rc build failure: undefined reference to `strlcpy' Thomas Backlund
2013-01-29 10:37 ` Borislav Petkov
2013-01-30  2:15   ` Namhyung Kim
2013-01-30  3:28     ` Borislav Petkov
2013-01-30  4:56       ` Namhyung Kim [this message]
2013-01-30  5:42         ` Borislav Petkov

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=87a9rruv3x.fsf@sejong.aot.lge.com \
    --to=namhyung@kernel.org \
    --cc=acme@redhat.com \
    --cc=bp@alien8.de \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tmb@mageia.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox