Re: [tip:perf/urgent] perf tools: Fix the NO_64BIT build on pure64-bit systems

From: Ingo Molnar
Date: Wed Oct 14 2009 - 12:03:28 EST



* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:

> Em Wed, Oct 14, 2009 at 07:44:04AM -0700, Randy Dunlap escreveu:
> > On Wed, 14 Oct 2009 08:20:52 +0200 Ingo Molnar wrote:
> >
> > >
> > > * Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:
> > >
> > > > On Mon, 12 Oct 2009 08:34:16 GMT tip-bot for Ingo Molnar wrote:
> > > >
> > > > > Commit-ID: 55621ccf2b7a8afe39df8c80f55b28424fd07d13
> > > > > Gitweb: http://git.kernel.org/tip/55621ccf2b7a8afe39df8c80f55b28424fd07d13
> > > > > Author: Ingo Molnar <mingo@xxxxxxx>
> > > > > AuthorDate: Mon, 12 Oct 2009 09:57:25 +0200
> > > > > Committer: Ingo Molnar <mingo@xxxxxxx>
> > > > > CommitDate: Mon, 12 Oct 2009 10:00:27 +0200
> > > > >
> > > > > perf tools: Fix the NO_64BIT build on pure 64-bit systems
> > > > >
> > > > > Randy Dunlap reported that 'make NO_64BIT=1' fails to build
> > > > > a pure 32-b it binary on 64-bit/64-bit x86 systems.
> > > > >
> > > > > The reason is that we dont pass in the -m32 and GCC defaults
> > > > > to -m64.
> > > > >
> > > > > So pass it in - and also extend the warning message about libelf
> > > > > dependencies - glibc-dev[el] is needed as well beyond the libelf
> > > > > library.
> > > >
> > > > Ingo, thanks, I finally got this working, after installing more 32-bit
> > > > libs etc., like Kyle said that I would need to do.
> > > >
> > > > The error message is still a little misleading/confusing:
> > > > Makefile:426: *** No libelf.h/libelf found, please install libelf-dev/elfutils-libelf-devel and glibc-dev[el]. Stop.
> > > >
> > > > when elfutils-libelf-devel.i586 is installed but glibc-devel.i[56]86 is not
> > > > installed. gcc failed with:
> > > > In file included from /usr/include/features.h:376,
> > > > from /usr/include/sys/types.h:27,
> > > > from /usr/include/libelf.h:53,
> > > > from elfdeveltest.c:1:
> > > > /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
> > >
> > > Why is it misleading? It says it very clearly that you need to install
> > > both:
> > >
> > > please install libelf-dev/elfutils-libelf-devel and glibc-dev[el]. Stop.
> >
> > It also says very clearly:
> >
> > Makefile:426: *** No libelf.h/libelf found
> >
> > which is not correct.
>
> So the correct way is to first look for the presence of glibc-devel,
> barf if its not present, then after that, do what is done now and test
> for the presence of libelf.h :-\
>
> But if one just follows the suggestion, and installs the suggested
> packages, it should work, no?

well .. send me a patch that makes the message more ambigious, so that
we output something like:

> Makefile:426: *** No ELF support found, please install libelf-dev/elfutils-libelf-devel and glibc-dev[el]. Stop.

that should make it useful enough, without complicating the make rules.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/