[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