[rds-devel] Re: Compiling & Loading RDS
Vladimir Sokolovsky
vlad at dev.mellanox.co.il
Tue Nov 21 01:55:56 PST 2006
Hi Carl,
Yes, this is a known issue in OFED-1.1.
The workaround for this issue:
Execute attached "create_Module.symvers.sh" script. This will create
Module.symvers file.
Copy this file to the linux/net/rds directory and then recompile RDS.
Regards,
Vladimir
Carl Yang (caryang) wrote:
> Vladimir,
>
> I loaded ib module from OFED 1.1 (dated 10/23/06). I have also
> compiled rds.ko after checked out the source code from Oracle
> website. However, when I tried to insmod rds.ko, I got lots of
> version issus (see below). Did you have similar problems?
>
> Regards,
> Carl
>
> ---------------------------------------------------------
>
> rds: disagrees about version of symbol ib_create_cq
> rds: Unknown symbol ib_create_cq
> rds: disagrees about version of symbol rdma_resolve_addr
> rds: Unknown symbol rdma_resolve_addr
> rds: disagrees about version of symbol rdma_reject
> rds: Unknown symbol rdma_reject
> rds: disagrees about version of symbol rdma_disconnect
> rds: Unknown symbol rdma_disconnect
> rds: disagrees about version of symbol rdma_resolve_route
> rds: Unknown symbol rdma_resolve_route
> rds: disagrees about version of symbol rdma_bind_addr
> rds: Unknown symbol rdma_bind_addr
> rds: disagrees about version of symbol rdma_create_qp
> rds: Unknown symbol rdma_create_qp
> rds: disagrees about version of symbol ib_destroy_cq
> rds: Unknown symbol ib_destroy_cq
> rds: disagrees about version of symbol rdma_create_id
> rds: Unknown symbol rdma_create_id
> rds: disagrees about version of symbol rdma_listen
> rds: Unknown symbol rdma_listen
> rds: disagrees about version of symbol rdma_destroy_qp
> rds: Unknown symbol rdma_destroy_qp
> rds: disagrees about version of symbol ib_get_dma_mr
> rds: Unknown symbol ib_get_dma_mr
> rds: disagrees about version of symbol ib_alloc_pd
> rds: Unknown symbol ib_alloc_pd
> rds: disagrees about version of symbol rdma_connect
> rds: Unknown symbol rdma_connect
> rds: disagrees about version of symbol rdma_destroy_id
> rds: Unknown symbol rdma_destroy_id
> rds: disagrees about version of symbol rdma_accept
> rds: Unknown symbol rdma_accept
> rds: disagrees about version of symbol ib_dealloc_pd
> rds: Unknown symbol ib_dealloc_pd
-------------- next part --------------
#!/bin/bash
K_VER=$(uname -r)
MOD_SYMVERS_IB=./Module.symvers
SYMS=/tmp/syms
if [ -f ${MOD_SYMVERS_IB} -a ! -f ${MOD_SYMVERS_IB}.save ]; then
mv ${MOD_SYMVERS_IB} ${MOD_SYMVERS_IB}.save
fi
rm -f $MOD_SYMVERS_IB
rm -f $SYMS
for mod in $(find /lib/modules/$K_VER/kernel/drivers/infiniband -name '*.ko') ; do
nm -o $mod |grep __crc >> $SYMS
n_mods=$((n_mods+1))
done
n_syms=$(wc -l $SYMS |cut -f1 -d" ")
echo Found $n_syms InfiniBand symbols in $n_mods InfiniBand modules
n=1
while [ $n -le $n_syms ] ; do
line=$(head -$n $SYMS|tail -1)
line1=$(echo $line|cut -f1 -d:)
line2=$(echo $line|cut -f2 -d:)
file=$(echo $line1|cut -f6- -d/)
file=$(echo $file|cut -f1 -d.)
crc=$(echo $line2|cut -f1 -d" ")
crc=${crc:8}
sym=$(echo $line2|cut -f3 -d" ")
sym=${sym:6}
echo -e "0x$crc\t$sym\t$file" >> $MOD_SYMVERS_IB
if [ -z $allsyms ] ; then
allsyms=$sym
else
allsyms="$allsyms|$sym"
fi
n=$((n+1))
done
echo ${MOD_SYMVERS_IB} created.
More information about the rds-devel
mailing list