• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]Suse10: Nvidia Treiber unable to build kernel module

Hallo,

ich habe soeben nach der installation von gcc und div. benötigter
Module im Runlevel 2 sowie 3 versucht den Treiber für meine
"Geforce 4 MX irgendwas" zu installieren. Nur ist es nun für mich
als Linux-DAU schwer zu erkennen warum er sich für unfähig hält
das ganze richtig zu compilieren.

Ich stehe vor einem Berg und weiß nicht in welcher Richtung
es weitergeht. Vielleicht fehlen mir noch Libs oder andere Nötige
Softwarepakete, jedoch lässt sich das für mich nicht aus dem
Logfile herauslesen. Wäre sehr nett wenn mir jemand mit einem
kleinen Tipp unter die Arme greifen könnte. Danke.


Hier das Installations-Logbuch:

Code:
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Thu Jan  5 11:48:05 2006

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     : true
  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      : (not specified)
  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.
-> 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: No)
-> No precompiled kernel interface was found to match your kernel; this means
   that the installer will need to compile a new kernel interface.
-> Performing CC test with CC="cc".
-> Kernel source path: '/usr/src/linux'
-> Kernel output path: '/usr/src/linux'
-> Performing rivafb check.
-> Performing nvidiafb check.
-> Cleaning kernel module build directory.
   executing: 'cd ./usr/src/nv; make clean'...
   rm -f -f nv.o nv-vm.o os-agp.o os-interface.o os-registry.o nv.o nv-vm.o os-
   agp.o os-interface.o os-registry.o nvidia.mod.o
   rm -f -f build-in.o nv-linux.o *.d .*.{cmd,flags}
   rm -f -f nvidia.{o,ko,mod.{o,c}} nv_compiler.h *~
   rm -f -f stprof stprof.o symtab.h
   rm -f -rf .tmp_versions
-> Building kernel module:
   executing: 'cd ./usr/src/nv; make module SYSSRC=/usr/src/linux SYSOUT=/usr/s
   rc/linux'...
   
   NVIDIA: calling KBUILD...
   make CC=cc  KBUILD_VERBOSE=1 -C /usr/src/linux SUBDIRS=/tmp/selfgz19047/NVID
   IA-Linux-x86-1.0-8178-pkg1/usr/src/nv modules
   Makefile:494: .config: No such file or directory
   mkdir -p /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/.tmp_ver
   sions
   
     WARNING: Symbol version dump /usr/src/linux-2.6.13-15/Module.symvers
              is missing; modules will have no dependencies and modversions.
   
   make -f scripts/Makefile.build obj=/tmp/selfgz19047/NVIDIA-Linux-x86-1.0-817
   8-pkg1/usr/src/nv
   echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > /tmp/selfgz19047/NV
   IDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv_compiler.h
     cc -Wp,-MD,/tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/.nv.
   o.d  -nostdinc -isystem /usr/lib/gcc/i586-suse-linux/4.0.2/include -D__KERNE
   L__ -Iinclude  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -Werror-impl
   icit-function-declaration -fno-strict-aliasing -fno-common -ffreestanding -O
   2     -fomit-frame-pointer -pipe -msoft-float -mpreferred-stack-boun
   dary=2 -fno-unit-at-a-time  -Iinclude/asm-i386/mach-default -Wdeclaration-af
   ter-statement -Wno-pointer-sign -I/tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178
   -pkg1/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-sub
   scripts -Wparentheses -Wpointer-arith  -Wno-multichar  -Werror -O -fno-commo
   n -MD   -Wsign-compare -Wno-cast-qual -Wno-error -D_LOOSE_KERNEL_NAMES -D__K
   ERNEL__ -DMODULE  -DNTRM -DNVRM -DDYNAMIC_SLI  -DNV_MAJOR_VERSION=1 -DNV_MIN
   OR_VERSION=0 -DNV_PATCHLEVEL=8178  -UDEBUG -U_DEBUG -DNDEBUG -DNV_SIGNAL_STR
   UCT_RLIM -DNV_MULTIPLE_BRIDGE_AGPGART_PRESENT -DNV_PCI_GET_CLASS_PRESENT -DN
   V_SYSCTL_MAX_MAP_COUNT_PRESENT -DNV_REMAP_PFN_RANGE_PRESENT -DNV_CHANGE_PAGE
   _ATTR_PRESENT -DNV_VMAP_4_PRESENT  -DMODULE -DKBUILD_BASENAME=nv -DKBUILD_MO
   DNAME=nvidia -c -o /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/n
   v/nv.o /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.c
   In file included from include/linux/bitops.h:77,
                    from include/linux/kernel.h:15,
                    from /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv/nv-linux.h:46,
                    from /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv/nv.c:14:
   include/asm/bitops.h: In function ‘find_first_bit’:
   include/asm/bitops.h:334: warning: comparison between signed and unsigned
   In file included from include/linux/list.h:7,
                    from include/linux/wait.h:23,
                    from include/asm/semaphore.h:41,
                    from include/linux/sched.h:20,
                    from include/linux/module.h:10,
                    from /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv/nv-linux.h:47,
                    from /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv/nv.c:14:
   include/linux/prefetch.h: In function ‘prefetch_range’:
   include/linux/prefetch.h:62: warning: pointer of type ‘void *’ used in a
   rithmetic
   In file included from include/linux/dmapool.h:14,
                    from include/linux/pci.h:870,
                    from /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv/nv-linux.h:71,
                    from /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv/nv.c:14:
   include/asm/io.h: In function ‘check_signature’:
   include/asm/io.h:253: warning: wrong type argument to increment
   /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.c: In function
   ‘nvidia_init_module’:
   /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.c:1305: warnin
   g: ‘pm_register’ is deprecated (declared at include/linux/pm.h:107)
   /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.c:1423: warnin
   g: ‘pm_unregister’ is deprecated (declared at include/linux/pm.h:112)
   /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.c: In function
   ‘nvidia_exit_module’:
   /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.c:1479: warnin
   g: ‘pm_unregister’ is deprecated (declared at include/linux/pm.h:112)
   /bin/sh: scripts/basic/fixdep: No such file or directory
   make[3]: *** [/tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/nv.
   o] Error 1
   make[2]: *** [_module_/tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/sr
   c/nv] Error 2
   NVIDIA: left KBUILD.
   nvidia.ko failed to build!
   make[1]: *** [mdl] Error 1
   make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.

MfG
mEon



___________________________________________________________________________

Lösungs-Zusammenfassung, details bitte den Posts entnehmen:

Nachinstallierte Pakete:
- gcc Compiler
- Kernel-Syms

Erfolgsvoraussetzungen:
- Kernel und Source in selber Version vorhanden und
- mit make cloneconfig abgeglichen vor Installation.
 
Hi!
mEon schrieb:
Hallo,...

Wäre sehr nett wenn mir jemand mit einem
kleinen Tipp unter die Arme greifen könnte. Danke.


Hier das Installations-Logbuch:

Code:
...
   NVIDIA: calling KBUILD...
   make CC=cc  KBUILD_VERBOSE=1 -C /usr/src/linux SUBDIRS=/tmp/selfgz19047/NVID
   IA-Linux-x86-1.0-8178-pkg1/usr/src/nv modules
   Makefile:494: .config: No such file or directory
   mkdir -p /tmp/selfgz19047/NVIDIA-Linux-x86-1.0-8178-pkg1/usr/src/nv/.tmp_ver
   sions
   
     WARNING: Symbol version dump /usr/src/linux-2.6.13-15/Module.symvers
              is missing; modules will have no dependencies and modversions.
   
...
ERROR: Unable to build the NVIDIA kernel module.

MfG
mEon
So wies mir im oben aufs wesentliche gekürzten Logbereich scheint, hast du die Kernelsources noch nicht mit dem laufenden Kernel abgeglichen. D.h.: Im Verzeichnis /usr/src/linux mal "make cloneconfig" ausführen udn wenn dann Kernelsources und laufender Kernel bei dir vorher irgendwann per YOU auf denselben Releasestand gebracht worden sind sollte ddann die Installation problemlos laufen, wenn nicht nochmal per YOU den Releaseabgleich der beiden Pakete machen und nochmal make cloneconfig dort ausführen und danach erneut die NVIDIA Modulinstallation durchführen lassen.

Bis denne,
Tom
 
TomcatMJ schrieb:
Hi!
Im Verzeichnis /usr/src/linux mal "make cloneconfig" ausführen udn wenn dann Kernelsources und laufender Kernel bei dir vorher irgendwann per YOU auf denselben Releasestand gebracht worden sind sollte ddann die Installation problemlos laufen, wenn nicht nochmal per YOU den Releaseabgleich der beiden Pakete machen und nochmal make cloneconfig dort ausführen und danach erneut die NVIDIA Modulinstallation durchführen lassen.

Bis denne,
Tom


Hallo nochmal,

vielen Dank für die schnelle Antwort Tom! Ich habe im YOU (Yast
Online Update, hoffe das war gemeint) nun Kernel und Source
aktualisiert. Danach cloneconfig ausgeführt, leider ist immernoch das
selbe Problem.

Da ich mir nicht sicher bin ob eine Aktualisierung, so wie ich sie
durchgeführt habe, dem von Dir genannten Release-Abgleich über
YOU entspricht, hier die Versionswerte vom Kernel und seiner Source:

Kernel: 52.3 MB
Installierte Version: 2.6.13-15.7 i586
Alternetive Version: 2.6.13-15 i586

Kernel-Source: 207.7 MB
Installierte Version: 2.6.13-15.7 i586
Alternetive Version: 2.6.13-15 i586

Benötigt der Release-Abgleich evtl. noch eigenen Befehl?

MfG
mEon
 
Hi!
Also die Releases dürften da ja nun definitiv passen. Dann solltest du als benutzer root in einer Shell einfach mal folgendes eingeben(also am besten im Runlevel 3 als root auf der Textkonsole eingeloggt):
Code:
cd /usr/src/linux
make cloneconfig
Danach sollte die Installation des NVIDIA-Pakets funktionieren, da die Geforce 4MX soweit ich weiss ja auch vom aktuellen NVIDIA PAket noch unterstützt werden im Gegensatz zu den dafür zu alten Geforce2 Karten...für die kannst du es allenfalls mit einem älteren Release des NVIDIA-Pakets probieren, die 7000er Releases drften die ja noch unterstützen im Gegensatz zu den 8000er Releases der NVIDIA-Pakete...

Bis denne,
Tom
 
Hallo,

so bin ich vorgegangen nach dem Update von Kernel+Source:

Code:
linux:/usr/src/linux # make cloneconfig
  Simple 64bit memory family implementation (W1_SMEM) [M/n/?] m
*
* Hardware Monitoring support
*
Hardware Monitoring support (HWMON) [M/n/y/?] m

[...]

*
* Hardware crypto devices
*
Support for VIA PadLock ACE (CRYPTO_DEV_PADLOCK) [M/n/y/?] m
  Support for AES in VIA PadLock (CRYPTO_DEV_PADLOCK_AES) [Y/n/?] y
*
* Library routines
*
CRC-CCITT functions (CRC_CCITT) [M/y/?] m
CRC32 functions (CRC32) [Y/?] y
CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (LIBCRC32C) [M/y/?] m
linux:/usr/src/linux #

Daraufhin habe ich in Runlevel 3 die Installationsdatei von Nvidia
mit SH ausgeführt. Wieder hielt ihn etwas auf, richtig zu kompilieren.

Ich kann falls das was bringt auch das jetzige Logfile nach Differenzen
zu dem bereits geposteten durchsuchen.

MfG
mEon

EDIT:
Ich habe das ganze in der Befehlskonsole eingegeben,
muss ich evtl. für cloneconfig auch den Runlevel ändern?
 
Hm,diese Ausgabe sieht aber eher nach "make config" als nach "make cloneconfig" aus. Wenn dem so ist solltest du die kernelquellen erst nochmal deinstallieren,dann erneut installieren (um die nun wohl nicht richtig konfigurierten "Altlasten" des vorrangegangenen Versuchs loszuwerden), danach nochmal mit YOU updaten und dann nochmal "make cloneconfig" im Verzeichnis /usr/src/linux ausführen und den NVIDIA-Installer nochmal aufrufen. Woher ich den Eindruck habe? Na an den wohl händig ausgewählten Modulkonfigurationen, denn bei "make cloneconfig" sollte das ganze ohne jegliche Rückfrage einfach durchlaufen wobei da allerdings einiges an Statusmeldungsoutput generiert wird....

Bis denne,
Tom
 
TomcatMJ schrieb:
Woher ich den Eindruck habe? Na an den wohl händig ausgewählten Modulkonfigurationen, denn bei "make cloneconfig" sollte das ganze ohne jegliche Rückfrage einfach durchlaufen

Meinst Du damit zB sowas: "CRC-CCITT functions (CRC_CCITT) [M/y/?] m" ?

Die haben sich alle selbst beantwortet, die Kopie des cloneconfig-Outputs
ist in meinem Post zugunsten des Forums und der Leser drastisch
gekürzt, entschuldige. Darum schwer erkennbar das "[...]" in der Mitte.

Ich kann bei Bedarf den kompletten Output hier einstellen, der schießt
nach der Eingabe in der Konsole sprichwörtlich runter.

Grüße und vielen Dank für die Unterstützung!!!

mEon
 
Ich werde nun den Versuch starten, Kernel und Source wieder auf
die Suse10-CD-Version mit 15 anstatt 15.7 am Ende zu reaktualisieren,
und nach dem Konfigurationsabgleich die Treiber zu installieren.

MfG

mEon
 
Hi!
Hab nochmal nachgesehen in meinem System und irgendwie dann doch gemerkt, daß ich, weil das System hier schon was länger am Werk ist, bei make cloneconfig wohl mittlerweile tatsächlich die ganzen Modulkonfigurationseinstellungen mit ausgespuckt werden,hatte ich wohl vorher nur übersehen da es hier so fix durchscrollte ohne Probleme und ich daher nie so genau hingesehen hatte*G*...
Beim nochmaligen genauen hinschauen fiel mir in deinem Log etwas auf,nämlich
WARNING: Symbol version dump /usr/src/linux-2.6.13-15/Module.symvers
is missing; modules will have no dependencies and modversions.

Es könnte sein, daß du noch das Kernel-Syms Paket nachinstallieren musst um zum Erfolg zu gelangen. Hoffe dieser Tipp hilft dir nun endlich wirklich weiter...

Bis denne,
Tom
 
Das wars, vielen Dank für den Tipp!


Nur falls weitere dasselbe problem haben sollten:

Das Kernel-Syms Paket war nicht über Yast zu finden, habe es
über die deutschen Suse-FTP-Server (auf novell.de aufgelistet)
heruntergeladen. Bei der Installation wurde dann allerdings CD5
als herkunft angezeigt.


MfG
mEon
 
Oben