Subject: Re: linux-next: build failure after merge of Linus' tree

From: Doug Ledford <[email-masked]>
Date: Tue, 9 Aug 2016 08:45:21 -0400

On 8/9/2016 4:54 AM, Leon Romanovsky wrote:
> On Mon, Aug 8, 2016 at 6:37 PM, Doug Ledford <[email-masked]> wrote:
>> On 8/7/2016 9:58 PM, Stephen Rothwell wrote:
>>> Hi all,
>>>
>>> With Linus' tree, today's linux-next build (powerpc allyesconfig) failed
>>> like this:
>>>
>>> drivers/infiniband/sw/built-in.o:(.opd+0x1698): multiple definition of `copy_data'
>>> drivers/infiniband/hw/built-in.o:(.opd+0xe5f8): first defined here
>>> drivers/infiniband/sw/built-in.o:(.opd+0x1320): multiple definition of `rxe_av_from_attr'
>>> drivers/infiniband/hw/built-in.o:(.opd+0xe280): first defined here
>>
>> This looks very suspicious.  I think you are picking up two copies of
>> the rxe code.  One from Linus tree and one from probably Leon's tree.
>> The thing is, the rxe driver is an entirely software RoCE driver.  So,
>> after I picked it up, I moved it from drivers/infiniband/hw to
>> drivers/infiniband/sw where it more correctly belongs.  Leon's tree
>> doesn't have that move, and since you pull Leon's tree into your -next
>> process, with the allyesconfig you are trying to build two copies of it
>> and put them both statically into the kernel, hence all of the double
>> definitions.  Leon needs to drop his copy of the rxe driver and let the
>> one in Linus' tree be the only one in existence.
> 
> Doug,
> Just to be clear on this point and on my flow.
> I'm resetting my ->next branches on the same day of your email
> announcement of acceptance.

Ok, thanks for the clarification.  As it turned out, I needed to reset
my for-next tag.

-- 
Doug Ledford <[email-masked]>
    GPG Key ID: 0E572FDD