[Nottingham] iteraid 8212 module & unse

Simon Atack -Notts LUG- nottingham at mailman.lug.org.uk
Mon Sep 15 16:37:01 2003


Jon Masters said:

> On Mon, 15 Sep 2003, Simon Atack (Notts LUG) wrote:
>
[SNIP]

>> I have compiled the iteraid 8212 module sucessfully on linux kernel 2.4.21
>
> When you say that you have successfully compiled this module please
> explain how you compiled this module. The output below suggests that you
> have compiled this module outside of a kernel which has symbol versioning
> enabled and have not run the module through genksyms as part of the build.
>
> Alternatively your kernel is not compiled for SMP however you have
> compiled the module for an SMP kernel or vice versa.
>
> These are the only two possibilities in this case unless you are trying to
> compile for a different kernel to the running one.
>
> Jon.
>

It came as source with a makefile for redhat & another for mandrake, since Im not debian
I ran a make modules on the kernel tree and looked at the gcc compilation command line
for advansys.c (advansys scsi card ) and combined this with the gcc compilation command
line that came with iteraid package for redhat and merged them and got no errors  or
warnings compiling the code

I used the following command

cele:/usr/src/linux# gcc -D__KERNEL__  -Wall -Wstrict-prototypes -Wno-trigraphs -O2
-fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=i686 -nostdinc -iwithprefix include -DMODULE -DMODVERSIONS -D__SMP__
-D__module__smp -I. -I/usr/src/linux-2.4/drivers/scsi -I/usr/src/linux-2.4/include
-include /usr/src/linux-2.4/include/linux/modversions.h  -c -o iteraid.o iteraid.c

then i tried insmod iteraid.o
 and got

cele:/usr/src/iteraid# insmod ./iteraid.o
./iteraid.o: unresolved symbol register_chrdev_Rsmp_00133218
./iteraid.o: unresolved symbol scsi_register_Rsmp_43427f53
./iteraid.o: unresolved symbol scsi_unregister_Rsmp_76c9097c
./iteraid.o: unresolved symbol mem_map_Rsmp_f41a4f60

in /usr/src/linux/.config

the following is set as well

CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y



Unfortunately my C programming/compilation skill are only in writing my own smallish
programmes and compiling them, not linux kernel compilation.

Thanks for this can you suggest what I need to do?

-- 
Simon Atack