[ewg] Building OFED1.4 kernel modules

Doron Shoham dorons at Voltaire.COM
Tue Jun 3 05:31:16 PDT 2008


Hi Vald,
I'm working on the backports of OFED1.4
I'm trying to test my backports and for doing so
I need to build OFED1.4 kernel modules.

I'm working by your instruction (for OFED1.3),
are they relevant for OFED1.4 also?

I did the following steps:

1. git clone -s -n git://git.openfabrics.org/ofed_1_4/linux-2.6.git testbuild
2. cd testbuild
3. git checkout ofed_kernel -- ofed_scripts
4. ./ofed_scripts/ofed_checkout.sh refs/heads/ofed_kernel
5. create my new backports on kernel_patches/backports/2.6.9_U5/
6. ./ofed_scripts/ofed_patch.sh --with-backport=2.6.9_U5
7. ./configure --with-core-mod
8. run `make`


I got the following errors when trying to run 'make':

[testbuild]# make
Building kernel modules
Kernel version: 2.6.9-55.ELsmp
Modules directory: //lib/modules/2.6.9-55.ELsmp/updates
Kernel sources: /lib/modules/2.6.9-55.ELsmp/build
env CWD=/tmp/testbuild BACKPORT_INCLUDES=-I/tmp/testbuild/kernel_addons/backport/2.6.9_U5/include/ \
make -C /lib/modules/2.6.9-55.ELsmp/build SUBDIRS="/tmp/testbuild" \
        V=1  \
        CONFIG_MEMTRACK= \
        CONFIG_DEBUG_INFO=y \
        CONFIG_INFINIBAND=m \
        CONFIG_INFINIBAND_IPOIB= \
        CONFIG_INFINIBAND_IPOIB_CM= \
        CONFIG_INFINIBAND_SDP= \
        CONFIG_INFINIBAND_SRP= \
        CONFIG_INFINIBAND_SRPT= \
        CONFIG_INFINIBAND_USER_MAD= \
        CONFIG_INFINIBAND_USER_ACCESS= \
        CONFIG_INFINIBAND_USER_MEM= \
        CONFIG_INFINIBAND_ADDR_TRANS= \
        CONFIG_INFINIBAND_MTHCA= \
        CONFIG_INFINIBAND_IPOIB_DEBUG= \
        CONFIG_INFINIBAND_ISER= \
        CONFIG_SCSI_ISCSI_ATTRS= \
        CONFIG_ISCSI_TCP= \
        CONFIG_INFINIBAND_EHCA= \
        CONFIG_INFINIBAND_EHCA_SCALING= \
        CONFIG_RDS= \
        CONFIG_RDS_IB= \
        CONFIG_RDS_TCP= \
        CONFIG_RDS_DEBUG= \
        CONFIG_INFINIBAND_IPOIB_DEBUG_DATA= \
        CONFIG_INFINIBAND_SDP_SEND_ZCOPY= \
        CONFIG_INFINIBAND_SDP_RECV_ZCOPY= \
        CONFIG_INFINIBAND_SDP_DEBUG= \
        CONFIG_INFINIBAND_SDP_DEBUG_DATA= \
        CONFIG_INFINIBAND_IPATH= \
        CONFIG_INFINIBAND_MTHCA_DEBUG= \
        CONFIG_INFINIBAND_MADEYE= \
        CONFIG_INFINIBAND_QLGC_VNIC= \
        CONFIG_INFINIBAND_QLGC_VNIC_DEBUG= \
        CONFIG_INFINIBAND_QLGC_VNIC_STATS= \
        CONFIG_CHELSIO_T3= \
        CONFIG_INFINIBAND_CXGB3= \
        CONFIG_INFINIBAND_CXGB3_DEBUG= \
        CONFIG_INFINIBAND_NES= \
        CONFIG_INFINIBAND_NES_DEBUG= \
        CONFIG_MLX4_CORE= \
        CONFIG_MLX4_INFINIBAND= \
        CONFIG_MLX4_ETHERNET= \
        CONFIG_MLX4_DEBUG= \
        CONFIG_INFINIBAND_AMSO1100= \
        LINUXINCLUDE=' \
        -include include/linux/autoconf.h \
        -include /tmp/testbuild/include/linux/autoconf.h \
        -I/tmp/testbuild/kernel_addons/backport/2.6.9_U5/include/ \
         \
         \
        -I/tmp/testbuild/include \
        -I/tmp/testbuild/drivers/infiniband/debug \
        -I/usr/local/include/scst \
        -I/tmp/testbuild/drivers/infiniband/ulp/srpt \
        -I/tmp/testbuild/drivers/net/cxgb3 \
        -Iinclude \
        $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) \
        ' \
        modules
make[1]: Entering directory `/usr/src/kernels/2.6.9-55.EL-smp-x86_64'
mkdir -p /tmp/testbuild/.tmp_versions
make -f scripts/Makefile.build obj=/tmp/testbuild
make -f scripts/Makefile.build obj=/tmp/testbuild/drivers/infiniband
make -f scripts/Makefile.build obj=/tmp/testbuild/drivers/infiniband/core
  gcc -Wp,-MD,/tmp/testbuild/drivers/infiniband/core/.cm.o.d -nostdinc -iwithprefix include -D__KERNEL__ -include include/linux/autoconf.h  -include /tmp/testbuild/include/linux/autoconf.h  -I/tmp/testbuild/kernel_addons/backport/2.6.9_U5/include/    -I/tmp/testbuild/include  -I/tmp/testbuild/drivers/infiniband/debug  -I/usr/local/include/scst  -I/tmp/testbuild/drivers/infiniband/ulp/srpt  -I/tmp/testbuild/drivers/net/cxgb3  -Iinclude     -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Os -fomit-frame-pointer -g -Wdeclaration-after-statement  -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks      -Wno-sign-compare -funit-at-a-time   -DMODULE -DKBUILD_BASENAME=cm -DKBUILD_MODNAME=ib_cm -c -o /tmp/testbuild/drivers/infiniband/core/.tmp_cm.o /tmp/testbuild/drivers/infiniband/core/cm.c
In file included from /tmp/testbuild/include/rdma/ib_cache.h:40,
                 from /tmp/testbuild/drivers/infiniband/core/cm.c:50:
/tmp/testbuild/include/rdma/ib_verbs.h:1629: warning: "struct dma_attrs" declared inside parameter list
/tmp/testbuild/include/rdma/ib_verbs.h:1629: warning: its scope is only this definition or declaration, which is probably not what you want
/tmp/testbuild/include/rdma/ib_verbs.h: In function `ib_dma_map_single_attrs':
/tmp/testbuild/include/rdma/ib_verbs.h:1631: warning: implicit declaration of function `dma_map_single_attrs'
/tmp/testbuild/include/rdma/ib_verbs.h: At top level:
/tmp/testbuild/include/rdma/ib_verbs.h:1638: warning: "struct dma_attrs" declared inside parameter list
/tmp/testbuild/include/rdma/ib_verbs.h: In function `ib_dma_unmap_single_attrs':
/tmp/testbuild/include/rdma/ib_verbs.h:1640: warning: implicit declaration of function `dma_unmap_single_attrs'
/tmp/testbuild/include/rdma/ib_verbs.h:1641: warning: `return' with a value, in function returning void
/tmp/testbuild/include/rdma/ib_verbs.h: At top level:
/tmp/testbuild/include/rdma/ib_verbs.h:1716: warning: "struct dma_attrs" declared inside parameter list
/tmp/testbuild/include/rdma/ib_verbs.h: In function `ib_dma_map_sg_attrs':
/tmp/testbuild/include/rdma/ib_verbs.h:1718: warning: implicit declaration of function `dma_map_sg_attrs'
/tmp/testbuild/include/rdma/ib_verbs.h: At top level:
/tmp/testbuild/include/rdma/ib_verbs.h:1724: warning: "struct dma_attrs" declared inside parameter list
/tmp/testbuild/include/rdma/ib_verbs.h: In function `ib_dma_unmap_sg_attrs':
/tmp/testbuild/include/rdma/ib_verbs.h:1726: warning: implicit declaration of function `dma_unmap_sg_attrs'
/tmp/testbuild/drivers/infiniband/core/cm.c: At top level:
/tmp/testbuild/drivers/infiniband/core/cm.c:127: error: syntax error before "atomic_long_t"
/tmp/testbuild/drivers/infiniband/core/cm.c:127: warning: no semicolon at end of struct or union
/tmp/testbuild/drivers/infiniband/core/cm.c:173: error: field `counter_group' has incomplete type
/tmp/testbuild/drivers/infiniband/core/cm.c: In function `cm_dup_req_handler':
/tmp/testbuild/drivers/infiniband/core/cm.c:1419: warning: implicit declaration of function `atomic_long_inc'
/tmp/testbuild/drivers/infiniband/core/cm.c: In function `cm_send_handler':
/tmp/testbuild/drivers/infiniband/core/cm.c:3235: warning: implicit declaration of function `atomic_long_add'
/tmp/testbuild/drivers/infiniband/core/cm.c: In function `cm_show_counter':
/tmp/testbuild/drivers/infiniband/core/cm.c:3642: error: dereferencing pointer to incomplete type
/tmp/testbuild/drivers/infiniband/core/cm.c:3642: warning: type defaults to `int' in declaration of `__mptr'
/tmp/testbuild/drivers/infiniband/core/cm.c:3642: warning: initialization from incompatible pointer type
/tmp/testbuild/drivers/infiniband/core/cm.c:3642: error: dereferencing pointer to incomplete type
/tmp/testbuild/drivers/infiniband/core/cm.c:3646: warning: implicit declaration of function `atomic_long_read'
/tmp/testbuild/drivers/infiniband/core/cm.c:3646: error: dereferencing pointer to incomplete type
/tmp/testbuild/drivers/infiniband/core/cm.c:3646: warning: long int format, different type arg (arg 3)
/tmp/testbuild/drivers/infiniband/core/cm.c:3646: warning: long int format, different type arg (arg 3)
/tmp/testbuild/drivers/infiniband/core/cm.c: In function `cm_create_port_fs':
/tmp/testbuild/drivers/infiniband/core/cm.c:3691: warning: implicit declaration of function `kobject_init_and_add'
/tmp/testbuild/drivers/infiniband/core/cm.c: In function `cm_add_one':
/tmp/testbuild/drivers/infiniband/core/cm.c:3755: error: structure has no member named `kobj'
make[4]: *** [/tmp/testbuild/drivers/infiniband/core/cm.o] Error 1
make[3]: *** [/tmp/testbuild/drivers/infiniband/core] Error 2
make[2]: *** [/tmp/testbuild/drivers/infiniband] Error 2
make[1]: *** [_module_/tmp/testbuild] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.9-55.EL-smp-x86_64'
make: *** [kernel] Error 2



What am I doing wrong?
What can be done in order to solve it?



Thanks,
Doron




More information about the ewg mailing list