# [NVIDIA] Upgrade (RESOLU)

## floc_12

Bonjour,

Lorsque j'essaye d'upgrader nvidia, j'ai l'erreur suivante :

```
>>> Emerging (2 of 2) x11-drivers/nvidia-drivers-290.10

 [b]* NVIDIA-Linux-x86_64-290.10.run RMD160 SHA1 SHA256 size ;-) ...                                                                                            [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Could not find a Makefile in the kernel source directory.

 * Please ensure that /usr/src/linux points to a complete set of Linux sources

 * Unable to calculate Linux Kernel version for build, attempting to use running version

 * Could not find a usable .config in the kernel source directory.

 * Please ensure that /usr/src/linux points to a configured set of Linux sources.

 * If you are using KBUILD_OUTPUT, please set the environment var so that

 * it points to the necessary object directory so that it might find .config.

 * ERROR: x11-drivers/nvidia-drivers-290.10 failed (setup phase):

 *   Kernel not configured; no .config found in [/b]

 * 

 * Call stack:

 *                      ebuild.sh, line  75:  Called pkg_setup

 *   nvidia-drivers-290.10.ebuild, line 209:  Called linux-mod_pkg_setup

 *               linux-mod.eclass, line 586:  Called require_configured_kernel

 *              linux-info.eclass, line 273:  Called die

 * The specific snippet of code:

 *         die "Kernel not configured; no .config found in ${KV_OUT_DIR}"

 * 

 * If you need support, post the output of 'emerge --info =x11-drivers/nvidia-drivers-290.10',

 * the complete build log and the output of 'emerge -pqv =x11-drivers/nvidia-drivers-290.10'.

 * The complete build log is located at '/dev/shm/portage/x11-drivers/nvidia-drivers-290.10/temp/build.log'.

 * The ebuild environment file is located at '/dev/shm/portage/x11-drivers/nvidia-drivers-290.10/temp/die.env'.

 * S: '/dev/shm/portage/x11-drivers/nvidia-drivers-290.10/work/'

>>> Failed to emerge x11-drivers/nvidia-drivers-290.10, Log file:
```

Les sources de mon noyau sont bien présentent (j'avais bien fais attention a le proteger lors de mes depclean) et mon /usr/src/linux pointe correctement :

ls -al /usr/src/

```
total 20

drwxr-xr-x  5 root root 4096  8 janv. 23:28 .

drwxr-xr-x 13 root root 4096 21 déc.  19:23 ..

-rw-r--r--  1 root root    0 17 juin   2010 .keep

lrwxrwxrwx  1 root root   23 30 nov.   2010 linux -> linux-2.6.34-gentoo-r12

drwxr-xr-x 20 root root 4096 30 nov.   2010 linux-2.6.33-gentoo-r2

drwxr-xr-x 21 root root 4096 24 oct.  22:35 linux-2.6.34-gentoo-r12

drwxr-xr-x 23 root root 4096  8 janv. 19:44 linux-3.1.6-gentoo
```

uname -r

```
2.6.34-gentoo-r12
```

Dois je recompiler mon noyau pour pouvoir upgrader nvidia ou y a t'il une autre solution, car je ne comprend pas trop pourquoi il ne le trouve pas ?

MerciLast edited by floc_12 on Wed Jan 11, 2012 6:45 am; edited 1 time in total

----------

## barul

Il dit, entre autre, qu'il n'y a pas de Makefile. Vérifie ça, si il faut re-emerge le kernel, etc…

----------

## floc_12

Salut barul, et merci de ta réponse.

Le Makefile a en effet disparut, je m'en suis rendu compte car en faisant un make menuconfig, ca ne fonctionnait pas.

En fait, je ne comprends pas comment il aurait pu disparaitre, car je ne pense pas avoir fait de fasse manip auparavant. Les depclean auraient ils pu le supprimer même avec les précautions qu j'avais prises ?

ls /usr/src/linux-2.6.34-gentoo-r12/

```
Module.symvers  crypto    include  lib              net       usr

System.map      drivers   init     mm               scripts   virt

arch            firmware  ipc      modules.builtin  security  vmlinux

block           fs        kernel   modules.order    sound     vmlinux.o

```

Sinon, j'ai recompilé et suis passé en 3.1.6 en attendant, et ca fonctionne, mais j'aurais bien aimé comprendre ce mystère ....

ced

----------

## Poussin

Très simple et logique en fait: tu as fait un --depclean

Comme une version plus récente du paquet (gentoo-source dans ton cas) est présente, il vire les fichiers (les sources, tout ça, il te laisse ce qui a été modifié par toi). Pour éviter cela, il faut ajouter la version que tu veux protéger à world (comme indiqué dans le message d'avertissement lors du --depclean)

----------

## floc_12

Salut Poussin,

En fait, j'avais bien fait un emerge --noreplace du paquet en question (sys-kernel/gentoo-sources  de tête) de sorte qu'il n'apparaisse plus lors du depclean. 

En fait, il aurait juste fallut ajouter la version à ma commande, du style emerge --noreplace sys-kernel/gentoo-sources-2.6.34-r12, ou que j'ajoute cette ligne à mon world (sys-kernel/gentoo-sources-2.6.34-r12) bien que sys-kernel/gentoo-sources soit déja présente ?

Merci

----------

## Poussin

```

emerge --noreplace =sys-kernel/gentoo-sources-2.6.34-r12

```

edit: Editer le fichier world, ça fonctionne aussi, mais c'est peut-être mieux d'éviter d'y toucher à la main (avec l'outil, tu es certain qu'aucune erreur de syntaxe ne s'y glisse)

----------

## floc_12

OK, merci Poussin. Je ferais ca dès ce soir pour mon nouveau noyau, que je ne m'y fasse pas reprendre ...

Bonne journée.

ced

----------

