# [SOLVED] problem z kompilacją nv-drivers po zmianie kernela

## Kimas

Witam,

Jak w temacie, mam problem z komilacja sterowników do kart nvidia,

poprzez eselect wybrałem najnowszy kernel, czyli: linux-2.6.36-gentoo-r5

później emerge nvidia-drivers, kod z kompilacji:

```
tristan linux-2.6.36-gentoo-r5 # emerge nvidia-drivers

Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-drivers/nvidia-drivers-195.36.31

 * NVIDIA-Linux-x86-195.36.31-pkg0.run RMD160 SHA1 SHA256 size ;-) ...                                                                                [ ok ]

 * Package:    x11-drivers/nvidia-drivers-195.36.31

 * Repository: gentoo

 * Maintainer: cardoe@gentoo.org jer@gentoo.org,spock@gentoo.org

 * USE:  acpi elibc_glibc gtk kernel_linux userland_GNU x86

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.36-gentoo-r5/build

 * Found sources for kernel version:

 *     2.6.36-gentoo-r5

 * Checking for MTRR support ...                                                                                                                      [ ok ]

>>> Unpacking source...

>>> Unpacking NVIDIA-Linux-x86-195.36.31-pkg0.run to /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0

>>> Source unpacked in /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work

>>> Preparing source in /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0 ...

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

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

 * Applying 195.30-unified-arch.patch ...                                                                                                             [ ok ]

 * Converting NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/Makefile.kbuild to use M= instead of SUBDIRS= ...                                            [ ok ]

>>> Source prepared.

>>> Configuring source in /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0 ...

>>> Source configured.

>>> Compiling source in /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0 ...

 * Preparing nvidia module

make -j 3 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux SYSOUT=/lib/modules/2.6.36-gentoo-r5/build HOST_CC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc clean module 

NVIDIA: calling KBUILD...

make -C /lib/modules/2.6.36-gentoo-r5/build \

   KBUILD_SRC=/usr/src/linux-2.6.36-gentoo-r5 \

   KBUILD_EXTMOD="/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv" -f /usr/src/linux-2.6.36-gentoo-r5/Makefile \

   modules

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

   echo;                        \

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

   echo "         include/generated/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-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.tmp_versions ; rm -f /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.tmp_versions/*

make -f /usr/src/linux-2.6.36-gentoo-r5/scripts/Makefile.build obj=/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv

(cat /dev/null;   echo kernel//var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nvidia.ko;) > /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/modules.order

  i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.nv.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.4.4/include -I/usr/src/linux-2.6.36-gentoo-r5/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-gentoo-r5/include -include include/generated/autoconf.h   -I/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=core2 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -fno-defer-pop -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"195.36.31\" -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-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.tmp_nv.o /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nv.c

  i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.nv_gvi.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.4.4/include -I/usr/src/linux-2.6.36-gentoo-r5/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-gentoo-r5/include -include include/generated/autoconf.h   -I/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=core2 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -fno-defer-pop -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"195.36.31\" -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv_gvi)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)"  -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.tmp_nv_gvi.o /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nv_gvi.c

  i686-pc-linux-gnu-gcc -Wp,-MD,/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.nv-vm.o.d  -nostdinc -isystem /usr/lib/gcc/i686-pc-linux-gnu/4.4.4/include -I/usr/src/linux-2.6.36-gentoo-r5/arch/x86/include -Iinclude  -I/usr/src/linux-2.6.36-gentoo-r5/include -include include/generated/autoconf.h   -I/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=core2 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack   -I/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wparentheses -Wno-multichar -Werror -fno-defer-pop -MD -Wno-cast-qual -Wno-error -D__KERNEL__ -DMODULE -DNVRM -DNV_VERSION_STRING=\"195.36.31\" -UDEBUG -U_DEBUG -DNDEBUG  -DMODULE  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(nv_vm)"  -D"KBUILD_MODNAME=KBUILD_STR(nvidia)"  -c -o /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/.tmp_nv-vm.o /var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nv-vm.c

/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nv.c:417: error: unknown field ‘ioctl’ specified in initializer

/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nv.c:417: warning: initialization from incompatible pointer type

make[4]: *** [/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv/nv.o] Error 1

make[4]: *** Waiting for unfinished jobs....

make[3]: *** [_module_/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0/usr/src/nv] Error 2

make[2]: *** [sub-make] Error 2

NVIDIA: left KBUILD.

nvidia.ko failed to build!

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

make: *** [module] Error 2

emake failed

 * ERROR: x11-drivers/nvidia-drivers-195.36.31 failed:

 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux       SYSOUT=/lib/modules/2.6.36-gentoo-r5/build HOST_CC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc clean module

 * 

 * Call stack:

 *     ebuild.sh, line   56:  Called src_compile

 *   environment, line 4143:  Called linux-mod_src_compile

 *   environment, line 3053:  Called die

 * The specific snippet of code:

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

 * 

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

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

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

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

 * S: '/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0'

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

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

 * Messages for package x11-drivers/nvidia-drivers-195.36.31:

 * ERROR: x11-drivers/nvidia-drivers-195.36.31 failed:

 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  IGNORE_CC_MISMATCH=yes V=1 SYSSRC=/usr/src/linux       SYSOUT=/lib/modules/2.6.36-gentoo-r5/build HOST_CC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc clean module

 * 

 * Call stack:

 *     ebuild.sh, line   56:  Called src_compile

 *   environment, line 4143:  Called linux-mod_src_compile

 *   environment, line 3053:  Called die

 * The specific snippet of code:

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

 * 

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

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

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

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

 * S: '/var/tmp/portage/x11-drivers/nvidia-drivers-195.36.31/work/NVIDIA-Linux-x86-195.36.31-pkg0'
```

próbowałem również 

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

 niestety nie daje to rezultatów, ma ktoś jakieś pomysły?Last edited by Kimas on Sun Dec 19, 2010 2:56 pm; edited 1 time in total

----------

## Jacekalex

A jesteś pewien, że to dobry sterownik? - wersja 195.36.31

Jaką masz kartę?

Bo ja mam 8600GT i ostatnio z rośliny miałem 260.19.21, wcześniej 260.19.06.

W tej chwili mam 260.19.29 ze strony nvidii.

I wszystkie działały lepiej lub gorzej (na *.21 mi się kilka razy system powiesił).

Względnie w /var/log/nvidia-installer* powinna być dokładniejsza informacja, o co chodzi.

U mnie tez coś pluły (wszystkie) o make oldconfig, ale pomimo to działają.

Radziłbym spróbować inną (starszą|nowsza) wersję sterownika, względnie skrypt ze strony nvidii.

Po za tym czy na innym kernelu ster się zainstalował? np 2.6.36-gentoo-r3

Czy konfig w obu kernelach, obecnym i poprzednim jest ten sam?

I czy ster, który instalujesz obsługuje posiadaną przez Ciebie wersję xserwera?

Sznurek dla 260.19.29:

http://us.download.nvidia.com/XFree86/Linux-x86/260.19.29/README/

A ten do sterownika, który instalujesz

http://us.download.nvidia.com/XFree86/Linux-x86/195.36.31/README/

Pozdrawiam

 :Cool: 

----------

## zlomek

Wklej: 

```
lspci | grep VGA
```

Przeczytaj o instalacji nvidia: http://www.gentoo.org/doc/pl/nvidia-guide.xml, która wersja sterwonika jest dla Twojej karty

Mam kartę nVidia Corporation Quadro FX 570M czyli mobilny 8600GT ze sterami: 260.19.29, działa bezproblemowo.

----------

## Kimas

karta to geforce go 7600, problem rozwiązany, zainstalowałem stery 260.19.29, co ciekawe te wcześniejsze kompilowały się i działały bez problemów na jądrze 2.6.35-gentoo-r12, dzięki za pomoc w rozwiązaniu problemu.

Pozdrawiam.

----------

## Aktyn

 *Jacekalex wrote:*   

> I wszystkie działały lepiej lub gorzej (na *.21 mi się kilka razy system powiesił).

 

Mi tak samo w X-ach, a czasem znikały GUI  :Wink:  Z tym że po zmianie na następne *29 czasem wisi po przejściu na konsole.

I dopiero od tej wersji działa ustawianie częstotliwści pamięci i GPU. Czyżby pisali od nowa te sterowniki czy jak?

Ale przedtem mogłem ustawić to dowolnie, a teraz obniżyć moge dowolnie ale podnieść tylko o 10%, co jest troche dziwne bo mając 300MHz podnosze na 330 a mając 700 od razu na 770. Chyba nie tak to powinno działać  :Wink: 

I nie działa to mając dwie karty, w moim przypadku jedna to zintegrowana. Na starszym kernelu i dawnych sterownikach wszystko działało. "Lepsze było wczoraj"  :Wink: 

I Twinview działa dziwnie, bo nawet wyłączając to, myszka wychodzi mi poza monitor. To znaczy mam dwa monitory chociaż nie mam dwóch  :Sad:  Ale to może wynika  z mojego niezroumienia. Dałem opcje by wyłączać monitor ale nie działa nawet chyba na sterej wersji.

----------

