Hello again, Just a follow up with the solution I discovered. Since I already had glx enabled compiled the only thing I was missing was the nvidia.ko module for my custom kernel which refused to build (see below). I downloaded the 5332 run file from NVIDIA, ran it with --extract-only and changed into the directory it created. I just used the diff patch available from http://www.minion.de for x86_64 machines, even applied it the same way it stated (using patch -p1 < ../../...) and ran make install. It worked fine, the nvidia.ko module object loaded and I'm happy. I gather GLX had to be done previous to this but not too sure as I already had it from before with SuSE's stock kernel. Hopefully this helps someone else who needs to use custom kernels for one reason or another. :) -Nick Bargnesi u_nbargnesi@umassd.edu On Saturday 05 June 2004 8:57 pm, u_nbargnesi wrote:
Hello, I've been trying to build the NVIDIA driver for customized SuSE kernels for some time now with no luck. First off, this problem is replicatable on both x86_64 and i686 architectures, but I'm primarily concerned with the x86_64 machine as it is far superior ;). Using the default 54.5 SuSE kernel, I can use the nvidia installer available from: http://www.sh.nu/download/nvidia/linux-2.6/NVIDIA-Linux-x86_64-1.0-5332-pkg 0.run via http://www.minion.de. And the driver will build without issue, allowing me to modprobe it, remove it, use it, poke it, whatever. However using a custom kernel built from the 54.5 source, when I try to use the same installer, I end up with:
******************************************************************* CHK include/asm-x86_64/offset.h echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /tmp/selfgz4556/NVI DIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv_compiler.h CC [M] /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.o /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: In functi on `nvos_malloc_pages': /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:405: warni ng: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: In functi on `nvos_create_alloc': /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:548: warni ng: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:558: warni ng: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:571: warni ng: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: At top le vel: /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:1219: warn ing: initialization from incompatible pointer type /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: In functi on `nv_alloc_file_private': /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:1227: warn ing: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:1238: warn ing: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: In functi on `nv_kern_open': /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:1299: warn ing: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: In functi on `nv_kern_ctl_open': /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:1945: warn ing: use of cast expressions as lvalues is deprecated /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c: At top le vel: /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2041: erro r: conflicting types for `nv_set_hotkey_occurred_flag' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:340: error
: previous declaration of `nv_set_hotkey_occurred_flag'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2228: erro r: conflicting types for `nv_find_nv_mapping' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:330: error
: previous declaration of `nv_find_nv_mapping'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2339: erro r: conflicting types for `nv_find_agp_kernel_mapping' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:331: error
: previous declaration of `nv_find_agp_kernel_mapping'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2418: erro r: conflicting types for `nv_get_kern_phys_address' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:332: error
: previous declaration of `nv_get_kern_phys_address'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2448: erro r: conflicting types for `nv_get_user_phys_address' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:333: error
: previous declaration of `nv_get_user_phys_address'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2479: erro r: conflicting types for `nv_alloc_pages' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:343: error
: previous declaration of `nv_alloc_pages'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2667: erro r: conflicting types for `nv_free_pages' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:344: error
: previous declaration of `nv_free_pages'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2765: erro r: conflicting types for `nv_lock_rm' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:335: error
: previous declaration of `nv_lock_rm'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2785: erro r: conflicting types for `nv_unlock_rm' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:336: error
: previous declaration of `nv_unlock_rm'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2799: erro r: conflicting types for `nv_lock_heap' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:337: error
: previous declaration of `nv_lock_heap'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2809: erro r: conflicting types for `nv_unlock_heap' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:338: error
: previous declaration of `nv_unlock_heap'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2825: erro r: conflicting types for `nv_post_event' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:353: error
: previous declaration of `nv_post_event'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2863: erro r: conflicting types for `nv_get_event' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:354: error
: previous declaration of `nv_get_event'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2906: erro r: conflicting types for `nv_agp_init' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:346: error
: previous declaration of `nv_agp_init'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:2968: erro r: conflicting types for `nv_agp_teardown' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:347: error
: previous declaration of `nv_agp_teardown'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:3009: erro r: conflicting types for `nv_agp_translate_address' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:348: error
: previous declaration of `nv_agp_translate_address'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:3041: erro r: conflicting types for `nv_int10h_call' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:341: error
: previous declaration of `nv_int10h_call'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:3050: erro r: conflicting types for `nv_start_rc_timer' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:350: error
: previous declaration of `nv_start_rc_timer'
/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.c:3071: erro r: conflicting types for `nv_stop_rc_timer' /tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/nv.h:351: error
: previous declaration of `nv_stop_rc_timer'
make[2]: *** [/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv/n v.o] Error 1 make[1]: *** [/tmp/selfgz4556/NVIDIA-Linux-x86_64-1.0-5332-pkg0/usr/src/nv] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.4-54.5' make: *** [module] Error 2 -> Error. ERROR: Unable to build the NVIDIA kernel module. ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com. *******************************************************************
I know I'm not the only one who has the issue, and I hack a bit on the kernel so I need to have the nvidia module built for my custom kernels. I've tried playing with the installer a bit but still cannot get past the errors above. I'm wondering if anyone has come up with a solution or maybe I can even modify the nvidia.sh SuSE provides in /lib/modules/scripts to allow me to use a custom kernel. Any suggestions, much appreciated. Regards,
Nick Bargnesi
"Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen a angry penguin charging at them in excess of 100 mph. They'd be a lot more careful about what they say if they had." -Linus Torvalds