Kconfig recursion error

Greg KH greg at kroah.com
Wed Nov 23 03:51:16 EST 2016


On Wed, Nov 23, 2016 at 07:54:48AM +0000, Amit Kumar wrote:
> On Wed, Nov 23, 2016 at 12:27 PM Greg KH <greg at kroah.com> wrote:
> 
> > On Wed, Nov 23, 2016 at 04:36:57AM +0000, Amit Kumar wrote:
> > >
> > >
> > > On Tue, Nov 22, 2016 at 10:32 PM Blatinox <blatinox at lse.epita.fr> wrote:
> > >
> > >     Hi Amit,
> > >
> > >     On Tue, 22 Nov 2016 11:30:06 +0000
> > >     Amit Kumar <free.amit.kumar at gmail.com> wrote:
> > >
> > >     > On Tue, Nov 22, 2016 at 4:51 PM Amit Kumar <
> > free.amit.kumar at gmail.com>
> > >     > wrote:
> > >     >
> > >     > > Hi,
> > >     > > When I configure  kernel like,
> > >     > > CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make
> > omap2plus_defconfig
> > >     > > I get error as follows,
> > >     > > HOSTCC  scripts/basic/fixdep
> > >     > >   HOSTCC  scripts/kconfig/conf.o
> > >     > >   SHIPPED scripts/kconfig/zconf.tab.c
> > >     > >   SHIPPED scripts/kconfig/zconf.lex.c
> > >     > >   SHIPPED scripts/kconfig/zconf.hash.c
> > >     > >   HOSTCC  scripts/kconfig/zconf.tab.o
> > >     > >   HOSTLD  scripts/kconfig/conf
> > >     > > drivers/remoteproc/Kconfig:3:error: recursive dependency
> > detected!
> > >     > > For a resolution refer to
> > Documentation/kbuild/kconfig-language.txt
> > >     > > subsection "Kconfig recursive dependency limitations"
> > >     > > drivers/remoteproc/Kconfig:3: symbol REMOTEPROC is selected by
> > >     > > QCOM_ADSP_PIL
> > >     > > For a resolution refer to
> > Documentation/kbuild/kconfig-language.txt
> > >     > > subsection "Kconfig recursive dependency limitations"
> > >     > > drivers/remoteproc/Kconfig:81: symbol QCOM_ADSP_PIL depends on
> > >     REMOTEPROC
> > >     > > #
> > >     > > # configuration written to .config
> > >     > > #
> > >     > > I think Documentation/kbuild/Kconfig.recursion-issue-02 is
> > applicable,
> > >     > > because REMOTEPROC is mentioned in depends on and select at
> > different
> > >     > > places.
> > >     > >
> > >     > > I am using a branch based on next-20161117.
> > >     >
> > >     It has been fixed by commit cc7d54b05057 ("remoteproc: adsp-pil: fix
> > >     recursive dependency") available since next-20161122.
> > >
> > >     I am wondering one thing: is the dependency on REMOTEPROC necessary
> > >     for QCOM_ADSP_PIL symbol (and other symbols in the same file) even if
> > >     this symbol is defined inside an 'if REMOTEPROC' block ?
> > >
> > >
> > > Yes it works in next-20161122. I'm in IST so I get next tree update the
> > next
> > > day. If I want to create a linux-next tree and publish it on github
> > publicly
> > > then what I need to do?
> >
> > Why do you want to push this to github?  What is that going to help out
> > with?
> >
> I want to create my own linux-next tree and update it before every patch
> creation. I think update of maintainers repos should be available as
> quickly as possible to the community so that duplicate patch submission and
> report of bug which has been already debugged as in this thread can be
> avoided. When I reported this bug, It was debugged already but linux-next
> tree was not up-to-date.

No tree can ever be as up-to-date as possible given the huge numbers of
patches being sent in for different issues.  The best that you can do is
to subscribe to a specific mailing list for a subsystem that you care
about and follow along with development through email there.

> I want to make it public so that other community members may be benefited.

How exactly?

And realize that linux-next is a huge tree that gets rebuilt every
week-day.  Pushing that out to github is a huge waste of bandwidth and
storage for very little gain.

> > > I think MAINTAINERS file may provide maintainers repos but there may be
> > certain
> > > tasks to be performed which I as a newbie don't know.
> >
> > I don't understand this statement.
> >
>  I think repos to assemble my linux-next tree can be found in the
> MAINTAINERS file.

If you wish to duplicate linux-next on your own, look at the list of
trees that linux-next pulls in.  It's in the tree itself as part of its
own documentation.  It's not just trees found in the MAINTAINERS file.

> > > I also want to do this because as push, pulling don't require
> > authentication.
> >
> > What does this mean?
> >
> I'm not a privileged member of the Linux community so I've no push
> authentication. But pulling of a repo, as I think, does not require any
> authentication.

No one in the kernel community has "push authentication", we all just
have our own trees that some happen to send pull requests to Linus at
some time.

See how we all work by reading Documentation/development_process/
That should help answer some of your questions.

> What I need to do to assemble my linux-next tree?

See above, but I really don't think that it's something you want to do
if you don't have a lot of experience with git and merges and kernel
development, as it is a _very_ complex thing.

Good luck!

greg k-h



More information about the Kernelnewbies mailing list