# problema ad emergere i driver nvidia (RISOLTO)

## lordalbert

Ciao.  Sto installando i driver nvidia ma riscontro semrpe l'errore che ho postato sotto.

Ho seguito la guida, con una configurazione del kernel che quindi dovrebbe essere corretta.... ho provato varie versioni di driver (dall'ultima alla 100.x di cui ho postato sotto il log) ma il risultato è lo stesso.

Qualcuno di voi saprebbe indicarmi dove potrebbe essere il problema?

grazie mille!

ps: ho una geforce 7200GS

 *Quote:*   

> 
> 
> >>> Emerging (1 of 1) x11-drivers/nvidia-drivers-100.14.19 to /
> 
> >>> Downloading 'http://distfiles.gentoo.org/distfiles/NVIDIA-Linux-x86_64-100.14.19-pkg2.run'
> ...

 Last edited by lordalbert on Mon Sep 01, 2008 6:08 pm; edited 1 time in total

----------

## oRDeX

 *Quote:*   

> echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ 

 

secondo questa riga pare che il sorgente del tuo kernel non sia mai stato compilato. Giusto?

Se si, prova con

```
# cd /usr/src/linux

# make oldconfig && make prepare

```

----------

## lordalbert

l'ho compilato con un  

```
 make && make modules_install 
```

(dopo un make menuconfig)

----------

## Apetrini

Hai compilato quello giusto? /usr/src/linux punta alla cartella giusta? Lo dico perche magari puo essere una svista...

----------

## lordalbert

 *Apetrini wrote:*   

> Hai compilato quello giusto? /usr/src/linux punta alla cartella giusta? Lo dico perche magari puo essere una svista...

 

si si... anche perchè è installato un solo kernel,  e i sorgenti sono solo quelli. Non ce ne sono altri.

----------

## oRDeX

Ho appena controllato che versione utilizzo io del driver nvidia:

```
173.14.12
```

Sulla mia architettura era masked ed io l'ho smascherata....E' da tempo che ho questa, ma non vorrei che abbia installato proprio questa versione per permettere al driver di funzionare su kernel >=2.6.24, ovvero da quando sono stati fusi i branch i386 e x86_64.

Se ti interessa un feedback, il driver non ha mai dato alcun tipo di problema.

----------

## Peach

controlla che sia corretto questo link (in base alla tua architettura)

```
# ls -l /usr/src/linux/include/asm

lrwxrwxrwx 1 root root 7 11 ago 12:55 /usr/src/linux/include/asm -> asm-x86
```

se è scazzato è probabile tu ti sia dimenticato qualcosa in "processor type and features"

----------

## lordalbert

 *Peach wrote:*   

> controlla che sia corretto questo link (in base alla tua architettura)
> 
> ```
> # ls -l /usr/src/linux/include/asm
> 
> ...

 

```

# ls -l /usr/src/linux/include/asm

lrwxrwxrwx 1 root root 7 30 ago 00:10 /usr/src/linux/include/asm -> asm-x86

```

Ho un core2duo (profilo 64bit)

@ordex: ok, grazie! adesso provo quella specifica versione e vi faccio sapere! Magari può essere incompatibilità col kernel (ho un 2.6.27 smascherato, perchè mi servivano alcuni driver introdotti con questa versione).

EDIT: ancora errore... 

```

>>> Emerging (1 of 1) x11-drivers/nvidia-drivers-173.14.12 to /

>>> Downloading 'http://distfiles.gentoo.org/distfiles/NVIDIA-Linux-x86_64-173.14.12-pkg2.run'

--16:47:14--  http://distfiles.gentoo.org/distfiles/NVIDIA-Linux-x86_64-173.14.12-pkg2.run

           => `/usr/portage/distfiles/NVIDIA-Linux-x86_64-173.14.12-pkg2.run'

Risoluzione di distfiles.gentoo.org in corso... 216.165.129.135, 156.56.247.195, 140.211.166.134, ...

Connessione a distfiles.gentoo.org|216.165.129.135:80... connesso.

HTTP richiesta inviata, aspetto la risposta... 200 OK

Lunghezza: 16,794,952 (16M) [text/plain]

100%[=================================================================================================================>] 16,794,952   807.41K/s    ETA 00:00

16:47:36 (786.98 KB/s) - "/usr/portage/distfiles/NVIDIA-Linux-x86_64-173.14.12-pkg2.run" salvato [16794952/16794952]

 * checking ebuild checksums ;-) ...                                                                                                                   [ ok ]

 * checking auxfile checksums ;-) ...                                                                                                                  [ ok ]

 * checking miscfile checksums ;-) ...                                                                                                                 [ ok ]

 * checking NVIDIA-Linux-x86_64-173.14.12-pkg2.run ;-) ...                                                                                             [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found sources for kernel version:

 *     2.6.27-rc5

 * Checking for MTRR support ...                                                                                                                       [ ok ]

 * Checking for SYSVIPC support ...                                                                                                                    [ ok ]

>>> Unpacking source...

Creating directory NVIDIA-Linux-x86_64-173.14.12-pkg2

Verifying archive integrity... OK

Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 173.14.12...........................................................................................................................................

 * Applying NVIDIA_glx-defines.patch ...                                                                                                               [ ok ]

 * Applying NVIDIA_glx-glheader.patch ...                                                                                                              [ ok ]

 * Applying NVIDIA_i2c-hwmon.patch ...                                                                                                                 [ ok ]

 * Converting NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ...                                          [ ok ]

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2 ...

 * Preparing nvidia module

NVIDIA: calling KBUILD...

make CC=x86_64-pc-linux-gnu-gcc  KBUILD_VERBOSE=1 -C /usr/src/linux M=/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv modules

make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.

test -e include/linux/autoconf.h -a -e include/config/auto.conf || (      \

   echo;                        \

   echo "  ERROR: Kernel configuration is invalid.";      \

   echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";   \

   echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";   \

   echo;                        \

   /bin/false)

mkdir -p /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/.tmp_versions ; rm -f /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/.tmp_versions/*

make -f scripts/Makefile.build obj=/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv

  x86_64-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/.nv.o.d  -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include -D__KERNEL__ -Iinclude  -I/usr/src/linux-2.6.27-rc5/arch/x86/include -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m64 -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -I/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -mcmodel=kernel -mno-red-zone -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"173.14.12\" -UDEBUG -U_DEBUG -DNDEBUG -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)" -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.o /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.c

In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.c:14:

/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.h:107:27: error: asm/semaphore.h: No such file or directory

In file included from /var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.c:14:

/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.h: In function ‘nv_execute_on_all_cpus’:

/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.h:674: error: too many arguments to function ‘on_each_cpu’

/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.c: In function ‘nv_kern_cpu_callback’:

/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.c:1299: error: too many arguments to function ‘smp_call_function’

/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.c:1306: error: too many arguments to function ‘smp_call_function’

make[3]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv.o] Error 1

make[2]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/work/NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv] Error 2

NVIDIA: left KBUILD.

nvidia.ko failed to build!

make[1]: *** [module] Error 1

make: *** [module] Error 2

 * 

 * ERROR: x11-drivers/nvidia-drivers-173.14.12 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 3670:  Called linux-mod_src_compile

 *             environment, line 2705:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                   CC=\"$(get-KERNEL_CC)\"             LDFLAGS=\"$(get_abi_LDFLAGS)\"                   ${BUILD_FIXES}                   ${BUILD_PARAMS}       ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 *  The die message:

 *   Unable to emake HOSTCC=x86_64-pc-linux-gnu-gcc CC=x86_64-pc-linux-gnu-gcc LDFLAGS=  IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux       SYSOUT=/usr/src/linux HOST_CC=x86_64-pc-linux-gnu-gcc clean module

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/nvidia-drivers-173.14.12/temp/environment'.

 * 

```

----------

## oRDeX

La directory a cui punta asm è corretta.

Comunque tutti i messaggi che compaiono sembrano proprio indicare una mancanza di "include/", ma il kernel lo trova, proprio come dice sopra.

Ho notato questa direttiva nel comando di compilazione che hai postato

```
-I/usr/src/linux-2.6.27-rc5/arch/x86/include 
```

Bhè, la cosa strana è che quella directory da me non c'è!

----------

## lordalbert

 *oRDeX wrote:*   

> 
> 
> Bhè, la cosa strana è che quella directory da me non c'è!

 

già, strano.... boh..

----------

## Peach

 *lordalbert wrote:*   

>  *Peach wrote:*   controlla che sia corretto questo link (in base alla tua architettura)
> 
> ```
> # ls -l /usr/src/linux/include/asm
> 
> ...

 

io su profilo amd64 ho questo

```
ls -l /usr/src/linux/include/asm

lrwxrwxrwx 1 root root 10  7 mar 17:36 /usr/src/linux/include/asm -> asm-x86_64
```

non x86, ma x86_64, come dovrebbe essere...

----------

## lordalbert

 *Peach wrote:*   

> 
> 
> io su profilo amd64 ho questo
> 
> ```
> ...

 

infatti mi era venuto il dubbio.... e per cambiarlo?

----------

## Peach

 *lordalbert wrote:*   

>  *Peach wrote:*   
> 
> io su profilo amd64 ho questo
> 
> ```
> ...

 

prova a guardare in "Processor Type & Features" che la sottoarchitettura e la famiglia della cpu siano correttamente impostate.

----------

## lordalbert

 *Peach wrote:*   

>  *lordalbert wrote:*    *Peach wrote:*   
> 
> io su profilo amd64 ho questo
> 
> ```
> ...

 

allora...

in Subarchitecture Type posso scegliere tra :

(X) PC-compatible

(  ) Support for ScaleMP vSMP

[ed è scelta la prima, con la X ].  Non saprei se sia la scelta giusta, cmq non l'ho toccato....   (però essendo un dual core, non sarebbe meglio il supporto SMP?  che se non sbaglio è per il multiprocessor)

In processor family ho

(X) Core 2/newer Xeon

(  ) Generic-x86-64

Io ho scelto Core2 , che è il processore che ho.... però forse lo considera a 32bit ?

----------

## lordalbert

Problema risolto!

Grazie mille a Peach!

Praticamente invece dei vanilla-sources-2.6.27-rc5  ho usato i gentoo-sources-2.6.25-r7 (che sono stabili)

----------

## oRDeX

@Peach:

Da >=2.6.24 i386 e x86_64 sono stati fusi in x86, infatti la cartella asm-i386 e asm-i386_64 non esistono più in favore di asm-x86

----------

## Peach

 *oRDeX wrote:*   

> @Peach:
> 
> Da >=2.6.24 i386 e x86_64 sono stati fusi in x86, infatti la cartella asm-i386 e asm-i386_64 non esistono più in favore di asm-x86

 

si infatti, ma un po' per via del kernel in release candidate e un po' per via di un paio di opzioni settate un po' così e colì, un po' per il fatto di aver fatto pulizia tra i sorgenti del kernel come avevi suggerito tu all'inizio, sta di fatto che subito dopo la compilazione dei driver è andata via liscia...

----------

