View Single Post
Old 07-11-06, 07:09 AM   #3
Registered User
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: Compile fails with linux 2.6.18 (-rc1)

The compilation actually went ok, but the module fails to load, because GPL-only symbols are not exported to non-GPL modules.

There are two solutions: either, modify EXPORT_SYMBOL_GPL(lockdep_init_map) in the kernel sources (kernel/lockdep.c:1940) to EXPORT_SYMBOL(lockdep_init_map) and recompile/install the kernel, or manually add the symbol information to the nvidia driver module:

cd <nvidia driver sources>
make module
SYMBOL=`grep lockdep_init_map$ /boot/ | colrm 9`
ld -m elf_i386 --defsym lockdep_init_map=0x$SYMBOL -r -o nvidia.ko nvidia.o nvidia.mod.o
On x86_64, you have to use "colrm 17" instead of "colrm 9" in the third line!

I didn't yet actually tried if the driver will then work on 2.6.18-rc1, but the above method(s) to get rid of missing symbols works nice for nvidia drivers on top of xen-enabled linux kernels.


JaXXoN is offline   Reply With Quote