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

From: Stephen Rothwell
Date: Sat Nov 27 2010 - 16:21:45 EST


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 ...

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature