make O=dir fails with current git - Kernel

This is a discussion on make O=dir fails with current git - 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, ...

+ Reply to Thread
Results 1 to 6 of 6

Thread: make O=dir fails with current git

  1. make O=dir fails with current git

    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


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

  2. Re: make O=dir fails with current git

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

  3. Re: make O=dir fails with current git

    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

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

  4. Re: make O=dir fails with current git

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

  5. Re: make O=dir fails with current git

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

  6. Re: make O=dir fails with current git

    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/~pav...rses/blog.html
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread