[rhn-users] nVidia Quadro driver for x86_64 RHEL 3

Jon LaBadie jlabadie at acm.org
Mon Mar 28 21:21:53 UTC 2005


On a 64-bit system with dual processors, I'm trying to get an
nVidia Quadro card working with nvidia drivers rather than
simply a vesa driver.

I'm attempting to build the drivers that were released on
3/11 as version 1.0-7167, although I've gotten virtually
identical "bad" results when using earlier versions.

At the end I've included a lot of the output from an
nvidia-installer log.  I've cut out a lot of redundant info
and added a few comments with leading "####  " strings.
Sorry for the length despite my editing.

OS is  RHEL 3, WS version Update 2 for x86_64 processors

System is dual EM64T capable Xeons in a Dell 670n workstation

Graphics card is a Quadro FX 3400.

Because the installer does not find a precompiled driver for
my system I run the installer with options to point it to the
source code tree for my OS and kernel (2.4.21-15.EL x86_64).

Thinking there might be something wrong with the kernel
source tree, I've deleted the rpm's and reinstalled them but
still get the same nvidia-installer errors and a bad driver
module.

When I run the installer it produces the nvidia.o module, but
upon installing it into the kernel there are tons of
unresolved references.

Perhaps someone has seen similar results and will probably
point me to a silly error on my part.


####  The edited logfile

nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Wed Mar 23 10:26:16 2005

option status:
   license pre-accepted    : true
   update                  : false
   force update            : false
   expert                  : false
   uninstall               : false
   driver info             : false
   no precompiled interface: false
   no ncurses color        : false
   query latest driver ver : false
   OpenGL header files     : false
   no questions            : false
   silent                  : false
   no backup               : false
   kernel module only      : false
   sanity                  : false
   add this kernel         : false
   no runlevel check       : false
   no network              : false
   no ABI note             : false
   no RPMs                 : false
   force tls               : (not specified)
   force compat32 tls      : (not specified)
   X install prefix        : /usr/X11R6
   OpenGL install prefix   : /usr
   compat32 install prefix : (not specified)
   installer install prefix: /usr
   utility install prefix  : /usr
   kernel name             : (not specified)
   kernel include path     : (not specified)
   kernel source path      : /usr/src/linux-2.4.21-15.EL
   kernel output path      : (not specified)
   kernel install path     : (not specified)
   proc mount point        : /proc
   ui                      : (not specified)
   tmpdir                  : /tmp
   ftp mirror              : ftp://download.nvidia.com
   RPM file list           : (not specified)

Using: nvidia-installer ncurses user interface
-> License accepted by command line option.
-> No precompiled kernel interface was found to match your
    kernel; would you like the installer to attempt to download
    a kernel interface for your kernel from the NVIDIA ftp site
    (ftp://download.nvidia.com)? (Answer: Yes)
-> No matching precompiled kernel interface was found on the
    NVIDIA ftp site; this means that the installer will need to
    compile a kernel interface for your kernel.
-> Using the kernel source path '/usr/src/linux-2.4.21-15.EL'
    as specified by the '--kernel-source-path' commandline option.
-> Kernel source path: '/usr/src/linux-2.4.21-15.EL'
-> Performing CC test with CC="cc".
-> Performing rivafb check.
-> Performing change_page_attr() check.
-> Cleaning kernel module build directory.
    executing: 'cd ./usr/src/nv; make clean'...
    rm -f nv.o nv-vm.o os-agp.o os-interface.o os-registry.o \
        nv-linux.o nv_compiler.h *.d NVdriver nvidia.o
-> Building kernel module:
    executing: 'cd ./usr/src/nv;
    make module SYSSRC=/usr/src/linux-2.4.21-15.EL
    SYSOUT=/usr/src/linux-2.4.21-15.EL'...
    echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" \
          > nv_compiler.h

    cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat
       -Wchar-subscripts -Wparentheses -Wpointer-arith
       -Wno-multichar  -Werror -O -fno-common -mno-red-zone
       -UDEBUG -U_DEBUG -DNDEBUG -MD -D__KERNEL__ -DMODULE
       -D_LOOSE_KERNEL_NAMES -mcmodel=kernel -DNTRM -D_GNU_SOURCE
       -D_LOOSE_KERNEL_NAMES -D__KERNEL__ -DMODULE
       -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0
       -DNV_PATCHLEVEL=7167  -DNV_UNIX  -DNV_LINUX
       -DNV_INT64_OK  -DNVCPU_X86_64  -DNV_64_BITS
       -DNV_REMAP_PAGE_RANGE_5_PRESENT
       -DNV_CHANGE_PAGE_ATTR_PRESENT
       -DNV_PCI_DISABLE_DEVICE_PRESENT -DNV_VMAP_4_PRESENT  -I.
       -I/usr/src/linux-2.4.21-15.EL/include -Wsign-compare
       -Wno-cast-qual -Wno-error nv.c
    In file included
        from /usr/src/linux-2.4.21-15.EL/include/linux/poll.h:11,
        from nv-linux.h:58,
        from nv.c:14:
    /usr/src/linux-2.4.21-15.EL/include/asm/uaccess.h:
        In function `__copy_from_user':
    /usr/src/linux-2.4.21-15.EL/include/asm/uaccess.h:257:
        warning: pointer of type `void *' used in arithmetic
    /usr/src/linux-2.4.21-15.EL/include/asm/uaccess.h:262:
        warning: pointer of type `void *' used in arithmetic
...

##########################################################
####  Same compile and warning was logged for each of these
####  source files:
####      nv.c
####      nv-vm.c
####      os-agp.c
####      os-interface.c
####      os-registry.c
###########################################################

    ld -r -o nv-linux.o nv.o nv-vm.o os-agp.o os-interface.o \
             os-registry.o
    ld -r -o nvidia.o nv-linux.o nv-kernel.o
-> done.
-> 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 source files.  Please make sure
     you have installed the kernel source 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 source files are installed, you may
     specify the kernel source path with the
     '--kernel-source-path' commandline option.

####  which is what I did to create this log file!!

-> Kernel module load error:
    ./usr/src/nv/nvidia.o: unresolved symbol __ioremap_R9eac042a

####  some additional symbols unresolved, about 80 althgether

            pci_read_config_byte_R0e425a9e
            del_timer_Rd35376fe
            inter_module_get_Rf6a0ce24
            __get_free_pages_R9016dd82
            do_gettimeofday_R72270e35
            __vmalloc_R79995c5b
            register_chrdev_R4df0fcb3
            init_mm_R8a0aaff8
            mem_map_R7b3e78dd
            strncpy_from_user_R24428be5
            copy_to_user_Rbe499d81
    ./usr/src/nv/nvidia.o:

##############################################################
####  A total of about 80 unresolved references are reported
#### each time an insmod is attempted with the nvidia.o module
##############################################################

    Hint: You are trying to load a module without a GPL compat-
    ible license and it has unresolved symbols.  The module may
    be trying to access GPLONLY symbols but the problem is more
    likely to be a coding or user error.  Contact the module
    supplier for assistance, only they can help you.

####  End of edited logfile





More information about the rhn-users mailing list