Re: The longest build error ever, ever, ever seen :) (Re:linux-next: Tree for November 26)

From: Greg KH
Date: Sat Nov 27 2010 - 19:22:00 EST


On Sun, Nov 28, 2010 at 08:21:26AM +1100, Stephen Rothwell wrote:
> Hi Greg,
>
> On Sat, 27 Nov 2010 10:27:23 -0800 Greg KH <gregkh@xxxxxxx> wrote:
> >
> > On Sat, Nov 27, 2010 at 01:12:27PM -0500, Valdis.Kletnieks@xxxxxx wrote:
> > > On Sat, 27 Nov 2010 08:45:55 PST, Greg KH said:
> > > > On Sat, Nov 27, 2010 at 09:56:45AM +0100, Zimny Lech wrote:
> > > > > Ave!
> > > > >
> > > > > 2010/11/26 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>:
> > > > > > Hi all,
> > > > > >
> > > > >
> > > > > OMG, LOL, this one is awesome :) The longest build error ever, ever,
> > > > > ever seen! Fscking awesome, someone gets Guiness World Record :)
> > > > >
> > > > > LD drivers/staging/built-in.o
> > > > > drivers/staging/rtl8192e/built-in.o: In function `rtl8192_setBBreg':
> > > > > (.text+0xae00): multiple definition of `rtl8192_setBBreg'
> > > > > drivers/staging/rtl8192u/built-in.o:(.text+0xa1a0): first defined here
> > > >
> > > > You built both of these drivers into the kernel, which causes the
> > > > problem. Try building them as modules, or just one as a module, and
> > > > that will solve the problem.
> > >
> > > We probably should create some Kconfig magic to prevent this situation?
> > >
> > > depends (othermodule != 'y') || (myself != 'y')
> > >
> > > or am I on the wrong track here?
> >
> > Just make each module depend on 'm' so that they can not be built into
> > the kernel, and all should be fine.
>
> Surely the real fix is to make sure that the global symbols in these
> drivers are unique ...

That would be "ideal" if they both weren't carrying pretty much the
identical wireless stack within them :)

That's a longer-term fix, the "only build as a module" is common for
staging drivers for this very reason.

thanks,

greg k-h
--
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/