LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* make O=dir fails with current git
@ 2008-03-29 18:19 Stefan Hellermann
  2008-03-31 18:00 ` Sam Ravnborg
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Hellermann @ 2008-03-29 18:19 UTC (permalink / raw)
  To: linux-kernel

Hi,

I'm using "make O=machinename" for building different kernels from one tree. About 15 days
ago it was okay, with current git it fails:
$ make O=client1
scripts/kconfig/conf -s arch/x86/Kconfig
  Using /srv/devel/kernel as source for kernel
  /srv/devel/kernel is not clean, please run 'make mrproper'
  in the '/srv/devel/kernel' directory.
make[1]: *** [prepare3] Error 1
make: *** [sub-make] Error 2

running "make mrproper" (without O=dir) doesn't help.
I've not changed anything, I only made a "git-pull".
Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it
doesn't work too.

Stefan



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: make O=dir fails with current git
  2008-03-29 18:19 make O=dir fails with current git Stefan Hellermann
@ 2008-03-31 18:00 ` Sam Ravnborg
  2008-03-31 18:26   ` Stefan Hellermann
  2008-03-31 18:34   ` Randy Dunlap
  0 siblings, 2 replies; 6+ messages in thread
From: Sam Ravnborg @ 2008-03-31 18:00 UTC (permalink / raw)
  To: Stefan Hellermann; +Cc: linux-kernel

On Sat, Mar 29, 2008 at 07:19:21PM +0100, Stefan Hellermann wrote:
> Hi,
> 
> I'm using "make O=machinename" for building different kernels from one tree. About 15 days
> ago it was okay, with current git it fails:
> $ make O=client1
> scripts/kconfig/conf -s arch/x86/Kconfig
>   Using /srv/devel/kernel as source for kernel
>   /srv/devel/kernel is not clean, please run 'make mrproper'
>   in the '/srv/devel/kernel' directory.
> make[1]: *** [prepare3] Error 1
> make: *** [sub-make] Error 2
> 
> running "make mrproper" (without O=dir) doesn't help.
> I've not changed anything, I only made a "git-pull".
> Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it
> doesn't work too.

I tried to reproduce this here without luck.
The tests performed by kbuild to dertermine if the
source directory is clean are very basic.
If the file .config exist or the directory
include/config exists then the source tree is considered clean.
Otherwise you get the above message.

Can you please try to run: make mrproper
and then manually check if the .config file
or the include/config directory exists.

If they exists after make mrproper then
check your permissions.

In any case let me know the result.

	Sam

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: make O=dir fails with current git
  2008-03-31 18:00 ` Sam Ravnborg
@ 2008-03-31 18:26   ` Stefan Hellermann
  2008-03-31 18:42     ` Sam Ravnborg
  2008-03-31 18:34   ` Randy Dunlap
  1 sibling, 1 reply; 6+ messages in thread
From: Stefan Hellermann @ 2008-03-31 18:26 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: linux-kernel

Sam Ravnborg schrieb:
> On Sat, Mar 29, 2008 at 07:19:21PM +0100, Stefan Hellermann wrote:
>> Hi,
>>
>> I'm using "make O=machinename" for building different kernels from one tree. About 15 days
>> ago it was okay, with current git it fails:
>> $ make O=client1
>> scripts/kconfig/conf -s arch/x86/Kconfig
>>   Using /srv/devel/kernel as source for kernel
>>   /srv/devel/kernel is not clean, please run 'make mrproper'
>>   in the '/srv/devel/kernel' directory.
>> make[1]: *** [prepare3] Error 1
>> make: *** [sub-make] Error 2
>>
>> running "make mrproper" (without O=dir) doesn't help.
>> I've not changed anything, I only made a "git-pull".
>> Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it
>> doesn't work too.
> 
> I tried to reproduce this here without luck.
> The tests performed by kbuild to dertermine if the
> source directory is clean are very basic.
> If the file .config exist or the directory
> include/config exists then the source tree is considered clean.
> Otherwise you get the above message.

Hi, damn, it's that easy!
It was the .config file, I added (as root) a symlink to dir/.config to let some other
application check if some Kernel-options are set, then the permissions of this symlink
prevented make mrproper from removing it.

For what purpose is this check? I can't point the other application to kerneldir/dir
because it also greps in kerneldir/Makefile for the kernel-version.

Thanks
Stefan

> 
> Can you please try to run: make mrproper
> and then manually check if the .config file
> or the include/config directory exists.
> 
> If they exists after make mrproper then
> check your permissions.
> 
> In any case let me know the result.
> 
> 	Sam

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: make O=dir fails with current git
  2008-03-31 18:00 ` Sam Ravnborg
  2008-03-31 18:26   ` Stefan Hellermann
@ 2008-03-31 18:34   ` Randy Dunlap
  1 sibling, 0 replies; 6+ messages in thread
From: Randy Dunlap @ 2008-03-31 18:34 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Stefan Hellermann, linux-kernel

On Mon, 31 Mar 2008 20:00:22 +0200 Sam Ravnborg wrote:

> On Sat, Mar 29, 2008 at 07:19:21PM +0100, Stefan Hellermann wrote:
> > Hi,
> > 
> > I'm using "make O=machinename" for building different kernels from one tree. About 15 days
> > ago it was okay, with current git it fails:
> > $ make O=client1
> > scripts/kconfig/conf -s arch/x86/Kconfig
> >   Using /srv/devel/kernel as source for kernel
> >   /srv/devel/kernel is not clean, please run 'make mrproper'
> >   in the '/srv/devel/kernel' directory.
> > make[1]: *** [prepare3] Error 1
> > make: *** [sub-make] Error 2
> > 
> > running "make mrproper" (without O=dir) doesn't help.
> > I've not changed anything, I only made a "git-pull".
> > Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it
> > doesn't work too.
> 
> I tried to reproduce this here without luck.
> The tests performed by kbuild to dertermine if the
> source directory is clean are very basic.
> If the file .config exist or the directory
> include/config exists then the source tree is considered clean.
> Otherwise you get the above message.
> 
> Can you please try to run: make mrproper
> and then manually check if the .config file
> or the include/config directory exists.
> 
> If they exists after make mrproper then
> check your permissions.
> 
> In any case let me know the result.

I have no trouble reproducing it.

mkdir X64
make O=X64 ARCH=x86_64 defconfig all

and it prints:
make[2]: Nothing to be done for `/tester/linsrc/linux-2.6.25-rc7-git6/Makefile'.
make[1]: Nothing to be done for `all'.

before it does the defconfig part.

There is no $topdir/.config or $topdir/include/config.
Those do exist in the O=X64 directory, however.

---
~Randy

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: make O=dir fails with current git
  2008-03-31 18:26   ` Stefan Hellermann
@ 2008-03-31 18:42     ` Sam Ravnborg
  2008-04-03 16:51       ` Pavel Machek
  0 siblings, 1 reply; 6+ messages in thread
From: Sam Ravnborg @ 2008-03-31 18:42 UTC (permalink / raw)
  To: Stefan Hellermann; +Cc: linux-kernel

On Mon, Mar 31, 2008 at 08:26:49PM +0200, Stefan Hellermann wrote:
> Sam Ravnborg schrieb:
> > On Sat, Mar 29, 2008 at 07:19:21PM +0100, Stefan Hellermann wrote:
> >> Hi,
> >>
> >> I'm using "make O=machinename" for building different kernels from one tree. About 15 days
> >> ago it was okay, with current git it fails:
> >> $ make O=client1
> >> scripts/kconfig/conf -s arch/x86/Kconfig
> >>   Using /srv/devel/kernel as source for kernel
> >>   /srv/devel/kernel is not clean, please run 'make mrproper'
> >>   in the '/srv/devel/kernel' directory.
> >> make[1]: *** [prepare3] Error 1
> >> make: *** [sub-make] Error 2
> >>
> >> running "make mrproper" (without O=dir) doesn't help.
> >> I've not changed anything, I only made a "git-pull".
> >> Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it
> >> doesn't work too.
> > 
> > I tried to reproduce this here without luck.
> > The tests performed by kbuild to dertermine if the
> > source directory is clean are very basic.
> > If the file .config exist or the directory
> > include/config exists then the source tree is considered clean.
> > Otherwise you get the above message.
> 
> Hi, damn, it's that easy!
> It was the .config file, I added (as root) a symlink to dir/.config to let some other
> application check if some Kernel-options are set, then the permissions of this symlink
> prevented make mrproper from removing it.
> 
> For what purpose is this check?
The O= build will use the wrong files if the source tree is not clean.
There are several special cases which goes wrong under the wrong circumstances
and therefore this consistency check.

> I can't point the other application to kerneldir/dir
> because it also greps in kerneldir/Makefile for the kernel-version.
They could use:
make kernelversion

and this could be used in the output directory too.

	Sam

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: make O=dir fails with current git
  2008-03-31 18:42     ` Sam Ravnborg
@ 2008-04-03 16:51       ` Pavel Machek
  0 siblings, 0 replies; 6+ messages in thread
From: Pavel Machek @ 2008-04-03 16:51 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: Stefan Hellermann, linux-kernel

Hi!

> > >> running "make mrproper" (without O=dir) doesn't help.
> > >> I've not changed anything, I only made a "git-pull".
> > >> Now I'm at home, tried "mkdir test; make O=test defconfig all" with current git-head, it
> > >> doesn't work too.
> > > 
> > > I tried to reproduce this here without luck.
> > > The tests performed by kbuild to dertermine if the
> > > source directory is clean are very basic.
> > > If the file .config exist or the directory
> > > include/config exists then the source tree is considered clean.
> > > Otherwise you get the above message.
> > 
> > Hi, damn, it's that easy!
> > It was the .config file, I added (as root) a symlink to dir/.config to let some other
> > application check if some Kernel-options are set, then the permissions of this symlink
> > prevented make mrproper from removing it.
> > 
> > For what purpose is this check?
> The O= build will use the wrong files if the source tree is not clean.
> There are several special cases which goes wrong under the wrong circumstances
> and therefore this consistency check.

Actually, I keep hitting this all the time. I run make in source tree,
and before I realize my mistake, it creates include/config... which I
have to remove manually before I can use make O=...

Could it perhaps remove include/config when .config does not exist?

Or create include/config only after writting .config?

	(answering 1000 questions takes time, its easy to hit ^c
	there....)
						Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-04-03 17:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-29 18:19 make O=dir fails with current git Stefan Hellermann
2008-03-31 18:00 ` Sam Ravnborg
2008-03-31 18:26   ` Stefan Hellermann
2008-03-31 18:42     ` Sam Ravnborg
2008-04-03 16:51       ` Pavel Machek
2008-03-31 18:34   ` Randy Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).