[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNAQ0Gxap8oxDMqcO8b9t8B2+g98pRWenJEQCEYw+9Bn3qg@mail.gmail.com>
Date: Fri, 27 Aug 2021 11:49:40 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Stephen Rothwell <sfr@...b.auug.org.au>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: build failure after merge of the kbuild tree
On Fri, Aug 27, 2021 at 10:50 AM Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> Hi Masahiro,
>
> On Fri, 27 Aug 2021 09:52:18 +0900 Masahiro Yamada <masahiroy@...nel.org> wrote:
> >
> > On Thu, Aug 26, 2021 at 6:13 PM Stephen Rothwell <sfr@...b.auug.org.au> wrote:
> > >
> > > After merging the kbuild tree, today's linux-next build (x86_64
> > > allnoconfig) failed like this:
> > >
> > > make[2]: *** No rule to make target 'scripts/mod/empty.o', needed by '__build'.
> > >
> > > Caused by commit
> > >
> > > 624a912f84bc ("kbuild: detect objtool changes correctly and remove .SECONDEXPANSION")
> > >
> > > (at least, reverting that commit fixes it)
> > >
> > > I use a separate object directory and, in this case, it is newly created.
> > >
> > > A build with V=1 and -s removed (and no -j) gives this around the
> > > failure:
> > >
> > > make -f /home/sfr/next/next/scripts/Makefile.build obj=scripts/mod
> > > make[2]: *** No rule to make target 'scripts/mod/empty.o', needed by '__build'. Stop.
> > > make[1]: *** [/home/sfr/next/next/Makefile:1309: prepare0] Error 2
> > >
> > > I have reverted that commit for today.
> >
> >
> > Hmm, it is strange.
> >
> >
> > I re-applied that commit based on today's linux-next
> > (git cherry-pick 624a912f84bc)
> >
> > allnoconfig built successfully.
> >
> >
> > My build log is as follows.
> >
> > Can you tell the exact steps to reproduce the error?
> >
> >
> >
> > masahiro@...ver:~/ref/linux-next$ git log -2 --oneline
> > 5046c6516ca2 (HEAD -> tmp) kbuild: detect objtool changes correctly
> > and remove .SECONDEXPANSION
> > 88fac11862d3 (tag: next-20210826, origin/master, origin/HEAD) Add
> > linux-next specific files for 20210826
> > masahiro@...ver:~/ref/linux-next$ rm -rf /tmp/foo
> > masahiro@...ver:~/ref/linux-next$ make O=/tmp/foo allnoconfig all
>
> I did more or less the same:
>
> $ rm -rf ../x86_64_allnoconfig
> $ mkdir ../x86_64_allnoconfig
> $ make ARCH=x86_64 O=../x86_64_allnoconfig CROSS_COMPILE=x86_64-linux-gnu- allnoconfig
> $ make V=1 ARCH=x86_64 O=../x86_64_allnoconfig CROSS_COMPILE=x86_64-linux-gnu- -O
>
> I do cross builds hosted on a PowerPC LE host.
>
> --
> Cheers,
> Stephen Rothwell
Ah, OK.
Now I understood what was happening.
scripts/mod/ is built before objtool, so
the dependency is not met.
I was previously not able to reproduce it
because a stale objtool was remaining in my source tree.
'make clean' cannot clean up objtool.
I will fix it by tomorrow's linux-next.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists