# nvidia-drivers - nieudana instalacja - problem z sandbox'em?

## szybi

Witam,

Mam problem z instalacją tego sterownika. Błąd pozornie znany:

```
>>> Source configured.

>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-319.49/work ...

 * Preparing nvidia module

make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= ARCH=i386 IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/3.5.7-gentoo/build CC=i686-pc-linux-gnu-gcc clean module 

If you are using a Linux 2.4 kernel, please make sure

you either have configured kernel sources matching your

kernel or the correct set of kernel headers installed

on your system.

If you are using a Linux 2.6 kernel, please make sure

you have configured kernel sources matching your kernel

installed on your system. If you specified a separate

output directory using either the "KBUILD_OUTPUT" or

the "O" KBUILD parameter, make sure to specify this

directory with the SYSOUT environment variable or with

the equivalent nvidia-installer command line option.

Depending on where and how the kernel sources (or the

kernel headers) were installed, you may need to specify

their location with the SYSSRC environment variable or

the equivalent nvidia-installer command line option.

*** Unable to determine the target kernel version. ***

make: *** [select_makefile] Error 1

 * ERROR: x11-drivers/nvidia-drivers-319.49::gentoo failed (compile phase):

 *   emake failed

 * 

 * If you need support, post the output of `emerge --info '=x11-drivers/nvidia-drivers-319.49::gentoo'`,

 * the complete build log and the output of `emerge -pqv '=x11-drivers/nvidia-drivers-319.49::gentoo'`.

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

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

 * Working directory: '/var/tmp/portage/x11-drivers/nvidia-drivers-319.49/work/kernel'

 * S: '/var/tmp/portage/x11-drivers/nvidia-drivers-319.49/work/'

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

>>>  '/var/tmp/portage/x11-drivers/nvidia-drivers-319.49/temp/build.log'
```

Na forum można wyczytać, że to problem z plikami nagłówkowymi. Próbowałem to naprawić tak, jak pisali, naprawić też inaczej, chociaż z nagłówkami jest wszystko dobrze. Puściłem jeszcze raz instalację, zatrzymałem ją zaraz po rozpakowaniu źródeł, dodałem logi w odpowiednich miejscach, puściłem instalację dalej i oczom moim ukazał się zaskakujący rezultat:

```
>>> Source configured.

>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-319.49/work ...

 * Preparing nvidia module

make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= ARCH=i386 IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/3.5.7-gentoo/build CC=i686-pc-linux-gnu-gcc clean module 

i686-pc-linux-gnu-gcc -O2 -D__KERNEL__ -DKBUILD_BASENAME="#conftest31078" -DKBUILD_MODNAME="#conftest31078" -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.7.3/include -I/usr/src/linux/include/asm-i386/mach-default -I/usr/src/linux/include/asm-x86/mach-default -I/usr/src/linux/arch/x86/include/asm/mach-default -I/usr/src/linux/include/arch/x86/include/uapi -I/lib/modules/3.5.7-gentoo/build/include2 -I/lib/modules/3.5.7-gentoo/build/include -include /lib/modules/3.5.7-gentoo/build/include/linux/autoconf.h -I/usr/src/linux/include -I/usr/src/linux/include/uapi -I/lib/modules/3.5.7-gentoo/build/include/generated/uapi -I/usr/src/linux/arch/x86/include -I/usr/src/linux/arch/x86/include/uapi -I/lib/modules/3.5.7-gentoo/build/arch/x86/include/generated -I/lib/modules/3.5.7-gentoo/build/arch/x86/include/generated/uapi -DTEST_2_6_OR_3 -c conftest31078.c

cc1: error: /lib/modules/3.5.7-gentoo/build/include2: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/include: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/include/generated/uapi: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/arch/x86/include/generated: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/arch/x86/include/generated/uapi: Permission denied

i686-pc-linux-gnu-gcc -O2 -D__KERNEL__ -DKBUILD_BASENAME="#conftest31078" -DKBUILD_MODNAME="#conftest31078" -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.7.3/include -I/usr/src/linux/include/asm-i386/mach-default -I/usr/src/linux/include/asm-x86/mach-default -I/usr/src/linux/arch/x86/include/asm/mach-default -I/usr/src/linux/include/arch/x86/include/uapi -I/lib/modules/3.5.7-gentoo/build/include2 -I/lib/modules/3.5.7-gentoo/build/include -include /lib/modules/3.5.7-gentoo/build/include/linux/autoconf.h -I/usr/src/linux/include -I/usr/src/linux/include/uapi -I/lib/modules/3.5.7-gentoo/build/include/generated/uapi -I/usr/src/linux/arch/x86/include -I/usr/src/linux/arch/x86/include/uapi -I/lib/modules/3.5.7-gentoo/build/arch/x86/include/generated -I/lib/modules/3.5.7-gentoo/build/arch/x86/include/generated/uapi -DTEST_2_4 -c conftest31078.c

cc1: error: /lib/modules/3.5.7-gentoo/build/include2: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/include: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/include/generated/uapi: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/arch/x86/include/generated: Permission denied

cc1: error: /lib/modules/3.5.7-gentoo/build/arch/x86/include/generated/uapi: Permission denied

If you are using a Linux 2.4 kernel, please make sure

you either have configured kernel sources matching your

kernel or the correct set of kernel headers installed

on your system.

...
```

Budowanie nie powodzi się w skrypcie conftest.sh. Jeśli chodzi o uprawnienia do katalogów, do których nie ma dostępu, to sprawa wygląda tak:

 *Quote:*   

> /lib/modules/3.5.7-gentoo/build/include2 - nie istnieje
> 
> /lib/modules/3.5.7-gentoo/build/include - drwxr-xr-x   root root
> 
> /lib/modules/3.5.7-gentoo/build/include/generated/uapi - nie istnieje
> ...

 

Kompilacja oczywiście z roota. Warto dodać, że jak już wszystko się zakończy źle, wchodzę do katalogu /var/tmp/portage/x11-drivers/nvidia-drivers-319.49/work, wydaję komendę, która zawiodła

```
make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= ARCH=i386 IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/3.5.7-gentoo/build CC=i686-pc-linux-gnu-gcc clean module
```

 i wszystko kończy się pomyślnie. Kompilacje, które się nie powiodły przy użyciu emerge, przechodzą pomyślnie. Nie wiem co to począć, ale w duchu obwiniam sandboxa

 *Quote:*   

> # pstree
> 
> ...
> 
>      ├─terminator─┬─bash───su───bash─┬─emerge───sandbox───ebuild.sh───ebuild.sh─┬─ebuild.sh───tail
> ...

 Last edited by szybi on Fri Oct 11, 2013 7:11 pm; edited 1 time in total

----------

## Crenshaw

spróbuj w /usr/src/linux (czy gdzie trzymasz zrodla kernela) zrobic

```
make prepare
```

i/lub 

```
make modules_prepare
```

----------

## szybi

Oba polecenia nie pomogły. Jak już mówiłem, źródła kernela są w porządku. Mogę jeszcze dodać, że jakiś czas temu instalacja tego sterownika na tym kernelu powiodła się. Potem aktualizowałem system i teraz nie mogę już reinstalować sterownika.

----------

