Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Recursive variable `KBUILD_CFLAGS' references itself (eventually).

1,116 views
Skip to first unread message

Dave Jones

unread,
Nov 19, 2007, 7:15:37 PM11/19/07
to Sam Ravnborg, lkml
Trying to do a 32bit build on a 64bit machine.
I did..
make ARCH=i386 oldconfig
make ARCH=i386 arch/x86/

and got..

scripts/kconfig/conf -s arch/x86/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
HOSTCC scripts/kallsyms
HOSTCC scripts/conmakehash
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
HOSTCC scripts/bin2c
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
CC arch/x86/kernel/asm-offsets.s
GEN include/asm-x86/asm-offsets.h
CALL scripts/checksyscalls.sh
/mnt/raid0/src/linux-2.6/arch/x86/Makefile_32:43: *** Recursive variable `KBUILD_CFLAGS' references itself (eventually). Stop.
make: *** [arch/x86/] Error 2


Dave

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

Sam Ravnborg

unread,
Dec 31, 2007, 8:16:58 AM12/31/07
to Dave Jones, lkml

Hi Dave.

Walking through my mailbox I found this one.
I did not get similar reports and I cannot reproduce it.

Do you continue to see this or had it been fixed somehow?
The only way I can see it heppen is that you have lost
the initial assignmnet in top-level Makefile so
make see this as an '=' assinment and not a ':='
assignment.
The first may not reference itself.

Sam
--

Dave Jones

unread,
Dec 31, 2007, 11:11:11 AM12/31/07
to Sam Ravnborg, lkml
On Mon, Dec 31, 2007 at 02:16:19PM +0100, Sam Ravnborg wrote:

> > Trying to do a 32bit build on a 64bit machine.
> > I did..
> > make ARCH=i386 oldconfig
> > make ARCH=i386 arch/x86/
>

> Walking through my mailbox I found this one.
> I did not get similar reports and I cannot reproduce it.
> Do you continue to see this or had it been fixed somehow?

Still happens for me with the latest tree from git.

$ make ARCH=i386 arch/x86/
HOSTCC scripts/kconfig/conf.o
HOSTLD scripts/kconfig/conf


scripts/kconfig/conf -s arch/x86/Kconfig
CHK include/linux/version.h

CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h


CALL scripts/checksyscalls.sh
/mnt/raid0/src/linux-2.6/arch/x86/Makefile_32:43: *** Recursive variable `KBUILD_CFLAGS' references itself (eventually). Stop.
make: *** [arch/x86/] Error 2

> The only way I can see it heppen is that you have lost


> the initial assignmnet in top-level Makefile so
> make see this as an '=' assinment and not a ':='
> assignment.

$ git diff Makefile
$

(This tree is completely pristine, no changes at all)

Dave

--
http://www.codemonkey.org.uk

Sam Ravnborg

unread,
Dec 31, 2007, 7:50:09 PM12/31/07
to Dave Jones, lkml
On Mon, Dec 31, 2007 at 11:10:21AM -0500, Dave Jones wrote:
> On Mon, Dec 31, 2007 at 02:16:19PM +0100, Sam Ravnborg wrote:
>
> > > Trying to do a 32bit build on a 64bit machine.
> > > I did..
> > > make ARCH=i386 oldconfig
> > > make ARCH=i386 arch/x86/
> >
> > Walking through my mailbox I found this one.
> > I did not get similar reports and I cannot reproduce it.
> > Do you continue to see this or had it been fixed somehow?
>
> Still happens for me with the latest tree from git.
>
> $ make ARCH=i386 arch/x86/
> HOSTCC scripts/kconfig/conf.o
> HOSTLD scripts/kconfig/conf
> scripts/kconfig/conf -s arch/x86/Kconfig
> CHK include/linux/version.h
> CHK include/linux/utsrelease.h
> UPD include/linux/utsrelease.h
> CALL scripts/checksyscalls.sh
> /mnt/raid0/src/linux-2.6/arch/x86/Makefile_32:43: *** Recursive variable `KBUILD_CFLAGS' references itself (eventually). Stop.
> make: *** [arch/x86/] Error 2

Can reproduce it now. Will take a look tomorrow.

Sam

Sam Ravnborg

unread,
Jan 24, 2008, 4:27:59 PM1/24/08
to Dave Jones, lkml
On Mon, Dec 31, 2007 at 11:10:21AM -0500, Dave Jones wrote:
> On Mon, Dec 31, 2007 at 02:16:19PM +0100, Sam Ravnborg wrote:
>
> > > Trying to do a 32bit build on a 64bit machine.
> > > I did..
> > > make ARCH=i386 oldconfig
> > > make ARCH=i386 arch/x86/
> >
> > Walking through my mailbox I found this one.
> > I did not get similar reports and I cannot reproduce it.
> > Do you continue to see this or had it been fixed somehow?
>
> Still happens for me with the latest tree from git.
>
> $ make ARCH=i386 arch/x86/

There is no easy fx for this one.
You try to build one of the non-standard directories and it just
fails because arch/x86/Makefile is not a regular Kbuild file.

Try with any other directory (almost any other) and it works.
Considered unfortunate but not a bug - so I will not try to fix it.

Sam

Jan Engelhardt

unread,
Jan 24, 2008, 4:31:44 PM1/24/08
to Sam Ravnborg, Dave Jones, lkml

On Jan 24 2008 22:27, Sam Ravnborg wrote:
>> > > Trying to do a 32bit build on a 64bit machine.
>> > > I did..
>> > > make ARCH=i386 oldconfig
>> > > make ARCH=i386 arch/x86/
>> >
>> > Walking through my mailbox I found this one.
>> > I did not get similar reports and I cannot reproduce it.
>> > Do you continue to see this or had it been fixed somehow?
>>
>> Still happens for me with the latest tree from git.
>>
>> $ make ARCH=i386 arch/x86/
>
>There is no easy fx for this one.
>You try to build one of the non-standard directories and it just
>fails because arch/x86/Makefile is not a regular Kbuild file.
>
>Try with any other directory (almost any other) and it works.
>Considered unfortunate but not a bug - so I will not try to fix it.

So, how are we going to build only arch/x86/ right now with kbuild?

Sam Ravnborg

unread,
Jan 24, 2008, 4:34:27 PM1/24/08
to Jan Engelhardt, Dave Jones, lkml
On Thu, Jan 24, 2008 at 10:31:18PM +0100, Jan Engelhardt wrote:
>
> On Jan 24 2008 22:27, Sam Ravnborg wrote:
> >> > > Trying to do a 32bit build on a 64bit machine.
> >> > > I did..
> >> > > make ARCH=i386 oldconfig
> >> > > make ARCH=i386 arch/x86/
> >> >
> >> > Walking through my mailbox I found this one.
> >> > I did not get similar reports and I cannot reproduce it.
> >> > Do you continue to see this or had it been fixed somehow?
> >>
> >> Still happens for me with the latest tree from git.
> >>
> >> $ make ARCH=i386 arch/x86/
> >
> >There is no easy fx for this one.
> >You try to build one of the non-standard directories and it just
> >fails because arch/x86/Makefile is not a regular Kbuild file.
> >
> >Try with any other directory (almost any other) and it works.
> >Considered unfortunate but not a bug - so I will not try to fix it.
>
> So, how are we going to build only arch/x86/ right now with kbuild?

It is not poissible.

You can do:
make arch/x86/kernel/
make arch/x86/lib/
make arch/x86/mm/

But there is no easy way to build them in one go.

Sam

0 new messages