[openib-general] Problem Building OpenIB on 2.6.12 kernel

Roland Dreier rolandd at cisco.com
Tue Sep 20 21:29:38 PDT 2005


    Don> It is not very practical to try to use OpenIB on a
    Don> continually moving kernel.  That is probably why we see so
    Don> many backport patches for various kernels.  I don't suppose
    Don> you know of any existing backport patches to 2.6.12.

I don't think I've seen any backport patches.  Of course you can just
use the IB code that is already in the stock 2.6.12 kernel, if that
works for you.

I understand that you'd like to be able to use the latest code from
the svn tree with your choice of kernel, but it's not feasible for us
to maintain N different backports in the face of changing kernel APIs.

    Roland> Strange, I've never seen that error.  Can you figure out
    Roland> how <linux/namei.h> is getting included while building
    Roland> ipoib_main.c?

    Don> Well, I'm told by Jerome it is in <.ipoib_main.o.d>

That's just the automatically generated dependency file.  I'd like to
understand what's causing gcc to include namei.h when you compile
ipoib_main.c.  As far as I can tell from a quick grep of the kernel
source, linux/namei.h is not included indirectly through any other
Linux include files:

    $ grep -r namei include|grep '#include'
    include/asm-m68knommu/namei.h:#include <asm-m68k/namei.h>
    include/asm-um/namei.h:#include "asm/arch/namei.h"

and ipoib_main.c does not include <linux/namei.h>.  So why is your
build picking up the declaration of path_lookup() in namei.h?

Anyway, one easy fix for you is just to replace the occurrences of
'path_lookup' in ipoib_main.c with 'ipoib_path_lookup' or something
like that.

 - R.



More information about the general mailing list