nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   Driver problem with compiled kernel (http://www.nvnews.net/vbulletin/showthread.php?t=13537)

churritz 06-17-03 08:47 PM

Driver 4363 problem with compiled kernel
I compile my kernel and i didn't mind "the old way" of finding the rpms myself for the nvidia driver and kernel suppliments and installing them manually; I don't think i'm for this new "automatic" installer if it don't work for me, unless of course i'm doing something stupid (which is why i'm posting here hopeing i have done something wrong someone can tell me about :) My kernel (2-has module support and some of the things the nvidia.o driver is complaining about seems like they would be "easy" to find e.g. (kfree, do_gettimeofday, ..., are in standard shared libraries?) and high_memory??? i don't even have that turned on in the kernel config... although i do have mtrr turned on but it still is unresolved here... hmm any help would be appriciated, compiling the kernel used to be easy with the old nvidia srpms.

using NVIDIA-Linux-x86-1.0-4363.run with custom compiled kernel 2.4.20-18.7 (that works with everything else i need since i've been using it in console mode...)

-> Kernel module load error: ./usr/src/nv/nvidia.o: unresolved symbol
./usr/src/nv/nvidia.o: unresolved symbol tq_immediate_R0da0dcd1
./usr/src/nv/nvidia.o: unresolved symbol pci_read_config_byte_R0e425a9e
./usr/src/nv/nvidia.o: unresolved symbol register_chrdev_Rc0dda5a3
./usr/src/nv/nvidia.o: unresolved symbol schedule_timeout_R17d59d01
./usr/src/nv/nvidia.o: unresolved symbol inter_module_get_Rf6a0ce24
./usr/src/nv/nvidia.o: unresolved symbol mod_timer_R1f13d309
./usr/src/nv/nvidia.o: unresolved symbol do_gettimeofday_R72270e35
./usr/src/nv/nvidia.o: unresolved symbol inter_module_put_R6b99f7d8
./usr/src/nv/nvidia.o: unresolved symbol pci_read_config_word_Rd25f3240
./usr/src/nv/nvidia.o: unresolved symbol init_mm_R94a48d0d
./usr/src/nv/nvidia.o: unresolved symbol change_page_attr_R8e74a49d
./usr/src/nv/nvidia.o: unresolved symbol __const_udelay_Reae3dfd6
./usr/src/nv/nvidia.o: unresolved symbol __pollwait_Rbdb04819
./usr/src/nv/nvidia.o: unresolved symbol create_proc_entry_R396b6e4d
./usr/src/nv/nvidia.o: unresolved symbol pci_write_config_word_R97d04e11
./usr/src/nv/nvidia.o: unresolved symbol pci_find_slot_R1de8747c
./usr/src/nv/nvidia.o: unresolved symbol kmalloc_R93d4cfe6
./usr/src/nv/nvidia.o: unresolved symbol mtrr_add_R56179c5f
./usr/src/nv/nvidia.o: unresolved symbol vfree_R2fd1d81c
./usr/src/nv/nvidia.o: unresolved symbol __global_cli
./usr/src/nv/nvidia.o: unresolved symbol bh_task_vec_R284177b8
./usr/src/nv/nvidia.o: unresolved symbol __get_free_pages_R4784e424
./usr/src/nv/nvidia.o: unresolved symbol unregister_chrdev_Rc192d491
./usr/src/nv/nvidia.o: unresolved symbol pci_read_config_dword_R43e318de
./usr/src/nv/nvidia.o: unresolved symbol high_memory_R8a7d1c31
./usr/src/nv/nvidia.o: unresolved symbol inter_module_get_request_Rb69f826b
./usr/src/nv/nvidia.o: unresolved symbol pci_write_config_dword_R7fbf61ba
./usr/src/nv/nvidia.o: unresolved symbol boot_cpu_data_R0657d037
./usr/src/nv/nvidia.o: unresolved symbol __generic_copy_to_user_Rd523fdd3
./usr/src/nv/nvidia.o: unresolved symbol securebits_Rabe77484
./usr/src/nv/nvidia.o: unresolved symbol free_pages_R9941ccb8
./usr/src/nv/nvidia.o: unresolved symbol __generic_copy_from_user_R116166aa
./usr/src/nv/nvidia.o: unresolved symbol pci_write_config_byte_R62c99bc3
./usr/src/nv/nvidia.o: unresolved symbol vsprintf_R954cbb26
./usr/src/nv/nvidia.o: unresolved symbol smp_call_function
./usr/src/nv/nvidia.o: unresolved symbol mem_map_R862c0ad4
./usr/src/nv/nvidia.o: unresolved symbol tqueue_lock
./usr/src/nv/nvidia.o: unresolved symbol mtrr_del_R272d394e
./usr/src/nv/nvidia.o: unresolved symbol jiffies_R0da02d67
./usr/src/nv/nvidia.o: unresolved symbol pm_unregister_R94097bd6
./usr/src/nv/nvidia.o: unresolved symbol __udelay_R9e7d6bd0
./usr/src/nv/nvidia.o: unresolved symbol free_irq_Rf20dabd8
./usr/src/nv/nvidia.o: unresolved symbol __wake_up_Rb76c5f1e
./usr/src/nv/nvidia.o: unresolved symbol __global_save_flags
./usr/src/nv/nvidia.o: unresolved symbol del_timer_Rfc62f16d
./usr/src/nv/nvidia.o: unresolved symbol sprintf_R1d26aa98
./usr/src/nv/nvidia.o: unresolved symbol remove_proc_entry_Rd785096f
./usr/src/nv/nvidia.o: unresolved symbol zone_table_R01a98e0c
./usr/src/nv/nvidia.o: unresolved symbol remap_page_range_R323728a8
./usr/src/nv/nvidia.o: unresolved symbol __tasklet_hi_schedule_R60ea5fe7
./usr/src/nv/nvidia.o: unresolved symbol kfree_R037a0cba
./usr/src/nv/nvidia.o: unresolved symbol pci_find_device_R2ec905d7
./usr/src/nv/nvidia.o: unresolved symbol __global_restore_flags
./usr/src/nv/nvidia.o: unresolved symbol printk_R1b7d4074
./usr/src/nv/nvidia.o: unresolved symbol kill_proc_R932da67e
./usr/src/nv/nvidia.o: unresolved symbol smp_num_cpus
./usr/src/nv/nvidia.o: unresolved symbol iounmap_R5fb196d4
./usr/src/nv/nvidia.o: unresolved symbol pm_register_R027ebe5e
./usr/src/nv/nvidia.o: unresolved symbol pci_find_class_Rf6ba1559
./usr/src/nv/nvidia.o: unresolved symbol request_irq_R0c60f2e0
./usr/src/nv/nvidia.o: unresolved symbol __vmalloc_R79995c5b
./usr/src/nv/nvidia.o: unresolved symbol irq_stat_R9c2e871c
./usr/src/nv/nvidia.o: unresolved symbol proc_root_driver_Rc9f0b0a1
./usr/src/nv/nvidia.o: unresolved symbol strncpy_from_user_R24428be5

bwkaz 06-18-03 05:40 PM

None of the kernel's symbols are in any shared libraries. The kernel is what loads shared libs (well... that and the ld-linux.so.2 program; you need both), so you'd get a chicken-and-egg problem if the kernel needed shared libraries. Shared libs are loaded when the program loads, not when they're required, and at the point where the kernel loads, you're still in real mode, with a 640K limit on memory, and you don't have a filesystem to load the libs from.

Anyway, though, that's not really important. ;)

Did you have an old copy of 2.4.21-18.7 installed? What did you do when you compiled it yourself?

It sounds like there's a mismatch between the actual kernel and the header files that the nVidia installer used (actually, run the installer again and post one of the compile lines from /var/log/nvidia-installer.log, too -- it might be using the wrong include file path).

churritz 06-21-03 05:23 PM

I have another kernel installed 2.4.18-19.7.8 the one i can fall back to and post this message with, but i don't think uninstalling that would help. So If i was using the wrong headers would --kernel-headers /usr/src/linux/include have helped when passed to the nvidia script (i did try that but didn't change much.)

where would the compile log wind up, all this fancy user interface stuff hides the goodies?

churritz 06-21-03 06:31 PM

sh NVIDIA-Linux-x86-1.0-4363.run --kernel-include-path=/usr/src/linux/include/

ok i did this before but it was after i tried it with out it,. SO after i remade the kernel and then ran it again the first time, it worked!!! Maybe if you run it once (leaving out the kernel header parameter) and it fails, it leaves some fiiles somewhere that makes even finding the right headers next time NOT work. oh well it's working now.

Now i just have to figure out why my machine crashes when xmame tries to run in DGA mode.

bwkaz 06-21-03 07:27 PM


Originally posted by churritz
So If i was using the wrong headers would --kernel-headers /usr/src/linux/include have helped when passed to the nvidia script (i did try that but didn't change much.)
For future reference: It would ONLY help if the kernel headers in that directory match the kernel you (a) are running when you compile, and (b) want to run when you use the drivers. A much better directory to use would be /lib/modules/$(uname -r)/build/include (which is the default).


where would the compile log wind up, all this fancy user interface stuff hides the goodies?
Again for future reference, it's in /var/log. Which is why I said /var/log/nvidia-installer.log. ;)

churritz 06-22-03 01:04 PM

ok i'm back, i needed to boot another kernel and now when i booted back my orig custom kernel the driver barfed. OK then, i thought, well, then i'll just start over, recompiled the kernel, did the ndivia.run and i got the same bleeding error even though i specified the --kernel-include-path thing, well this time i have a new nvidia-installer.log to show. there were no compile errors just resolving errors:

-> Kernel module compilation complete.
ERROR: Unable to load the kernel module 'nvidia.o'. This is most likely
because the kernel module was built using the wrong kernel header files.
Please make sure you have installed the kernel header files for your
kernel; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' rpm installed. If you know the correct kernel header
files are installed, you may specify the kernel include path with the
'--kernel-include-path' commandline option.
-> Kernel module load error: ./usr/src/nv/nvidia.o: unresolved symbol
./usr/src/nv/nvidia.o: unresolved symbol smp_call_function
./usr/src/nv/nvidia.o: unresolved symbol tqueue_lock
./usr/src/nv/nvidia.o: unresolved symbol __global_save_flags
./usr/src/nv/nvidia.o: unresolved symbol __global_restore_flags
./usr/src/nv/nvidia.o: unresolved symbol smp_num_cpus

ack. i didn't change any kernel configs, and it's now unresolving different symbols, and at one point it resolved them all, creepy, any clues?

bwkaz 06-22-03 08:26 PM

Try changing the EXTRAVERSION in the kernel source's top-level Makefile, and then doing make mrproper and starting over. That way, it'll use a different module directory.

Boot to the new kernel, and only run the installer after doing that (don't try to get it to compile for a kernel you're not running; it almost assuredly won't work).

I'm thinking a clean slate would probably help...

churritz 06-22-03 09:24 PM

thanks that did it, but i still don't know why it didn't work the first and second times, i didn't really change anything in the kernel source nor in the modules dir. btw, i didn't change extraversions and it still worked (i figure if it didn't i'd just mrproper again with a new extraversion).

thanks again, though i still think there's something waky with a custom kernel nvidia installation with the new run installer... this never happened with the srpms.

churritz 09-16-03 08:46 AM

actually it's not quite mrpropper that fixes this thing (because i got this problem again with 4496 and a new kernel)

look for smp_call_function on this page to find another user with this issue


I upgraded to kernel 2.4.20-20.7 and had the problem again, i was only able to resolve this by compiling my sound driver NOT in a module and compiling the Intel/Sis/AMD sound driver AS a module. I had not fixed the problem by using mrproperr before i fixed it because i rearanged the kernel compile options to get it to stop the unresolved symbols. So this is definitly an NVIDIA problem with custom compiled kernels that require you to have funky modules already built before using the nvidia kernel. So, The problem is the nvidia module should auto include symbols that the custom compile is forced to include.

All times are GMT -5. The time now is 11:21 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.