Re: mmotm 2010-01-06-14-34 uploaded (squashfs+lib/decomp)

From: Randy Dunlap
Date: Fri Jan 08 2010 - 11:38:56 EST


On Fri, 08 Jan 2010 01:54:54 -0500 Valdis.Kletnieks@xxxxxx wrote:

> On Thu, 07 Jan 2010 08:04:02 PST, Randy Dunlap said:
> > On Wed, 06 Jan 2010 23:01:47 -0500 Valdis.Kletnieks@xxxxxx wrote:
> >
> > > On Wed, 06 Jan 2010 22:48:16 EST, Valdis.Kletnieks@xxxxxx said:
> > >
> > > > Building with CONFIG_SQUASHFS=m, CONFIG_SQUASHFS_LZMA=y ,
> > > > and CONFIG_DECOMPRESS_LZMA=n fails:
> > >
> > > > Looks like a missing select/depends for DECOMPRESS_LZMA. Somebody else can
> > > > decide which it should be...
> > >
> > > Digging further:
> > >
> > > x Symbol: DECOMPRESS_LZMA [=n] x
> > > x Selected by: RD_LZMA [=n] && BLK_DEV_INITRD [=y] || SQUASHFS_LZMA [=y x
> > >
> > > How the heck did this happen? Looks like a SELECT *is* there but it's
> > > not firing??!?
> >
> > I saw this build error in linux-next and sent a patch for it -- it's below.
> > However, it doesn't appear to be exactly the same config as yours.
>
> Yeah, that patch is how you ended up cc'ed - it was already in the linux-next
> patch in Andrew's -mmotm tarball. It looked like you addressed one corner case
> of the problem, and I tripped over another. But now I'm trying to get my
> brain wrapped around how I was able to get SQUASHFS_LZMA=y, and it had a
> select for DECOMPRESS_LZMA, but that *still* was 'n' anyhow? How did we end
> up with both && and || in that 'Selected by:' line? Is that saying that
> RD_LZMA needs to be on too?

The menuconfig display is truncated (use left/right arrow keys to pan it).
The xconfig display shows this:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DECOMPRESS_LZMA

type: tristate
reverse dep: RD_LZMA && BLK_DEV_INITRD || SQUASHFS_LZMA && MISC_FILESYSTEMS && SQUASHFS

defined at lib/Kconfig:117

There is no help available for this kernel option.
Symbol: DECOMPRESS_LZMA [=n]
Selected by: RD_LZMA [=n] && BLK_DEV_INITRD [=n] || SQUASHFS_LZMA [=n] && MISC_FILESYSTEMS [=n] && SQUASHFS [=n]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In the "reverse dep:" line, && has higher precedence that || does, so it's:

reverse dep: (RD_LZMA && BLK_DEV_INITRD) || (SQUASHFS_LZMA && MISC_FILESYSTEMS && SQUASHFS)

So RD_LZMA and BLK_DEV_INITRD don't matter.


> Adding some plausible-sounding kbuild-related entries from MAINTAINERS to
> the cc: list, maybe they can explain it...


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