Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Compiliertes NVIDIA Kernelmodul lässt sich nicht laden (SuSE 9.0)

  1. #1
    Registrierter Benutzer Avatar von wsp
    Registriert seit
    May 2003
    Beiträge
    333

    Angry Compiliertes NVIDIA Kernelmodul lässt sich nicht laden (SuSE 9.0)

    Nach dem SuSE 9.0 Kernel Update auf Version 144 lässt sich der Nvidia Treiber nur noch mit Mühe compilieren... - ihm Fehlen nach eigener Aussage die Headerfiles. Die SRC Anpassung habe ich ebenfalls (per RPM) installiert.

    Unter /usr/src/ steht aber als Version immer noch -99 und nicht -144 - der Kernel ist jetzt in der Version 144 gestartet. Also eben schnell ln -s linux....-99 linux....-144 und das selbe für das Includeverzeichnis.

    Wenn man jetzt den Nvidia Treiber installieren will meckert er, dass er die Headerfiles nicht findet. Also manuell gesagt wo die liegen und das kompilieren klappt auch - aber nicht das laden - das setup bricht dann ab. Anbei das logfile - wäre klasse, wenn mir einer nen Tip geben könnte.

    LogFile:

    nvidia-installer log file '/var/log/nvidia-installer.log'
    creation time: Mon Dec 1 15:59:06 2003

    option status:
    license pre-accepted : false
    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
    XFree86 install prefix : /usr/X11R6
    OpenGL install prefix : /usr
    Installer install prefix: /usr
    kernel include path : /usr/src/linux-2.4.21-99-include/athlon/include
    kernel install path : (not specified)
    proc mount point : /proc
    ui : (not specified)
    tmpdir : /tmp
    ftp site : ftp://download.nvidia.com

    Using: nvidia-installer ncurses user interface
    -> License accepted.
    -> There appears to already be a driver installed on your system (version: 1.0-
    4496). As part of installing this driver (version: 1.0-4496), the existing
    driver will be uninstalled. Are you sure you want to continue? ('no' will a
    bort installation) (Answer: Yes)
    -> No precompiled kernel interface was found to match your kernel; would you li
    ke the installer to attempt to download a kernel interface for your kernel f
    rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: Yes)
    ERROR: Unable to connect to download.nvidia.com (temporary DNS error (try again
    later))
    -> 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 include path
    '/usr/src/linux-2.4.21-99-include/athlon/include' as specified by the
    '--kernel-include-dir' commandline option.
    -> Kernel include path: '/usr/src/linux-2.4.21-99-include/athlon/include'
    -> Cleaning kernel module build directory.
    executing: 'cd ./usr/src/nv; make clean'...
    rm -f nv.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 nvidia.o SYSINCLUDE=/usr/src/linux-2.4.21-
    99-include/athlon/include'...
    echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > nv_compiler.h
    cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
    arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
    DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
    _KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
    L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
    GE_RANGE_4 -I. -I/usr/src/linux-2.4.21-99-include/athlon/include -Wno-cast-
    qual nv.c
    In file included from /usr/src/linux-2.4.21-99-include/athlon/include/linux/
    vmalloc.h:8,
    from nv-linux.h:72,
    from nv.c:14:
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h: In function
    `bh_kmap':
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h:23: warning:
    pointer of type `void *' used in arithmetic
    cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
    arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
    DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
    _KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
    L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
    GE_RANGE_4 -I. -I/usr/src/linux-2.4.21-99-include/athlon/include -Wno-cast-
    qual os-agp.c
    In file included from /usr/src/linux-2.4.21-99-include/athlon/include/linux/
    vmalloc.h:8,
    from nv-linux.h:72,
    from os-agp.c:24:
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h: In function
    `bh_kmap':
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h:23: warning:
    pointer of type `void *' used in arithmetic
    cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
    arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
    DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
    _KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
    L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
    GE_RANGE_4 -I. -I/usr/src/linux-2.4.21-99-include/athlon/include -Wno-cast-
    qual os-interface.c
    In file included from /usr/src/linux-2.4.21-99-include/athlon/include/linux/
    vmalloc.h:8,
    from nv-linux.h:72,
    from os-interface.c:26:
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h: In function
    `bh_kmap':
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h:23: warning:
    pointer of type `void *' used in arithmetic
    cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
    arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
    DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
    _KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
    L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
    GE_RANGE_4 -I. -I/usr/src/linux-2.4.21-99-include/athlon/include -Wno-cast-
    qual os-registry.c
    In file included from /usr/src/linux-2.4.21-99-include/athlon/include/linux/
    vmalloc.h:8,
    from nv-linux.h:72,
    from os-registry.c:14:
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h: In function
    `bh_kmap':
    /usr/src/linux-2.4.21-99-include/athlon/include/linux/highmem.h:23: warning:
    pointer of type `void *' used in arithmetic
    ld -r -o nv-linux.o nv.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 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
    highmem_start_page_Re1079d6a
    ./usr/src/nv/nvidia.o: unresolved symbol create_proc_entry_Rb5cd4dbe
    ./usr/src/nv/nvidia.o: unresolved symbol init_mm_R8531f036
    ./usr/src/nv/nvidia.o: unresolved symbol remove_proc_entry_Rf531fbe0
    ./usr/src/nv/nvidia.o: unresolved symbol irq_stat_Re3008894
    ./usr/src/nv/nvidia.o: unresolved symbol change_page_attr_R52e1cab4
    ./usr/src/nv/nvidia.o: unresolved symbol proc_root_driver_R0ad5b639
    ./usr/src/nv/nvidia.o: unresolved symbol register_chrdev_R3b9d3ee7
    ./usr/src/nv/nvidia.o: unresolved symbol mem_map_R0c71cc32
    ./usr/src/nv/nvidia.o:
    Hint: You are trying to load a module without a GPL compatible 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.
    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.
    LogFile
    MfG
    wsp
    Desktop:
    AMD XP 2800+, 1 GB RAM, MSI Delta-L(Nforce 2 400)...
    Notebook: Acer Travelmate 291 LCI, 1,4 GHz (Centrino), 1 GB RAM (WLAN)...
    @SuSE Linux 9.2 Professional
    in /dev/null no one can hear you scream...!

  2. #2
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723

    Re: Compiliertes NVIDIA Kernelmodul lässt sich nicht laden (SuSE 9.0)

    Original geschrieben von wsp
    Also eben schnell ln -s linux....-99 linux....-144 und das selbe für das Includeverzeichnis.
    Afaik gibt es kein Include Verzeichnis, daß man irgendwo hinlinken muss und hab ich das richtig verstanden, daß Du linux-XXX-99 nach linux-XXX-144 gelinkt hast? Das wäre nämlich falsch. /usr/src/linux/ muss einfach nur auf die aktuellen Kernelsourcen zeigen und gut is.
    Also ln -s linux-XXX-144 linux

    Viel Erfolg!

  3. #3
    Registrierter Benutzer Avatar von wsp
    Registriert seit
    May 2003
    Beiträge
    333
    Hast du schon richtig verstanden.

    Es gibt in dem Verzeichnis /usr/src folgende Verzeichnisse:

    linux....-99
    linux....-99-include
    linux (link auf linux....-99)

    So siehts Standardmäßig aus.

    Jetzt habe ich einen neuen Kernel installiert (per SuSEs Updateseite auf Version linux....-144) und auch die Kernelsourcen, die ebenfalls als RPM angeboten wurden installiert.

    ABER:

    Im Verzeichnis /usr/src gibts noch immer :
    linux....-99
    linux....-99-include
    linux (link auf linux....-99)

    Obwohl Kernel 144 läuft und dessen Sourcen installiert sind.
    Wenn ich ihm bei der Installation der Nvidia Treiber nicht sage wo die Headerfiles liegen (<- /usr/src/linux...-99-include/athlon....) geht gar nix. Der findet zwar den Pfad /usr/src/linux aber darin wohl die headerfiles nicht. Also sage ich ihm manuell, da ja athlonkernel wo er die findet (da gibts die auch!) und er kompiliert schön das Modul.

    Leider kann ich es dann nicht laden, da besagter Fehler... verstehe das nicht. Die RPMs wurden ohne Fehler installiert.

    Woran kanns also liegen? Im Forum habe ich Ähnliches auch noch nicht gefunden - bei Google auch nicht.

    Bin für jede Hilfe und jeden Tip Dankbar - vielleicht übersehe ich ja auch einfach nur was.
    MfG
    wsp
    Desktop:
    AMD XP 2800+, 1 GB RAM, MSI Delta-L(Nforce 2 400)...
    Notebook: Acer Travelmate 291 LCI, 1,4 GHz (Centrino), 1 GB RAM (WLAN)...
    @SuSE Linux 9.2 Professional
    in /dev/null no one can hear you scream...!

  4. #4
    Learyaner Avatar von maomakmaa
    Registriert seit
    Jul 2003
    Beiträge
    267
    Warum macht ihr es euch so schwer ? Geht doch über YOU, dann installiert sich der Treiber von alleine, und braucht nur noch durch den Neustart von X initialisiert zu werden.

  5. #5
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    Moin!

    Also bei mir liegen die Headerfiles unter /usr/include/linux/ und unter /usr/src hab ich linux einfach auf die aktuellsten Sourcen gelinkt.

    Es gibt in dem Verzeichnis /usr/src folgende Verzeichnisse:

    linux....-99
    linux....-99-include
    linux (link auf linux....-99)

    So siehts Standardmäßig aus.

    Jetzt habe ich einen neuen Kernel installiert (per SuSEs Updateseite auf Version linux....-144) und auch die Kernelsourcen, die ebenfalls als RPM angeboten wurden installiert.

    ABER:

    Im Verzeichnis /usr/src gibts noch immer :
    linux....-99
    linux....-99-include
    linux (link auf linux....-99)

    Obwohl Kernel 144 läuft und dessen Sourcen installiert sind.
    Ähhmm... den link musst Du schon selber noch umsetzen. Ist imo auch gut so, denn ich möchte nicht, daß ein Update mir irgendwelche links umbiegt, die ich selber gesetzt habe.
    Und es ist vollkommen normal und ebenfalls wünschenswert, daß die alten Kernelsourcen erstmal auf der Platte bleiben.
    Umlinken und gut is. Für die Headerfiles würde ich einfach mal versuchen linux...-99-include nach /usr/include/linux zu linken.

    Bis neulich ...

  6. #6
    Registrierter Benutzer Avatar von wsp
    Registriert seit
    May 2003
    Beiträge
    333
    Original geschrieben von maomakmaa
    Warum macht ihr es euch so schwer ? Geht doch über YOU, dann installiert sich der Treiber von alleine, und braucht nur noch durch den Neustart von X initialisiert zu werden.
    Kann ich leider nicht. Ich habe zu Hause ein 56 K Modem... wenn ich den Treiber auf meiner Platte habe dann lade ich doch nicht noch mal 5 MB herunter... das dauert ne Ewigkeit... DSL gibbet im Moment nicht.
    MfG
    wsp
    Desktop:
    AMD XP 2800+, 1 GB RAM, MSI Delta-L(Nforce 2 400)...
    Notebook: Acer Travelmate 291 LCI, 1,4 GHz (Centrino), 1 GB RAM (WLAN)...
    @SuSE Linux 9.2 Professional
    in /dev/null no one can hear you scream...!

  7. #7
    Registrierter Benutzer Avatar von wsp
    Registriert seit
    May 2003
    Beiträge
    333
    Original geschrieben von Stanislaus
    Moin!

    Also bei mir liegen die Headerfiles unter /usr/include/linux/ und unter /usr/src hab ich linux einfach auf die aktuellsten Sourcen gelinkt.


    Ähhmm... den link musst Du schon selber noch umsetzen. Ist imo auch gut so, denn ich möchte nicht, daß ein Update mir irgendwelche links umbiegt, die ich selber gesetzt habe.
    Und es ist vollkommen normal und ebenfalls wünschenswert, daß die alten Kernelsourcen erstmal auf der Platte bleiben.
    Umlinken und gut is. Für die Headerfiles würde ich einfach mal versuchen linux...-99-include nach /usr/include/linux zu linken.

    Bis neulich ...
    Moment!
    Es ist ja nicht so dass er sie nicht findet wenn ich sie manuell angebe!
    Er kann nur das compilierte modul nicht laden! (siehe fehlerlog)

    ...
    MfG
    wsp
    Desktop:
    AMD XP 2800+, 1 GB RAM, MSI Delta-L(Nforce 2 400)...
    Notebook: Acer Travelmate 291 LCI, 1,4 GHz (Centrino), 1 GB RAM (WLAN)...
    @SuSE Linux 9.2 Professional
    in /dev/null no one can hear you scream...!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •