# [SOLVED][NVIDIA] problem z nvidia-drivers na 27-rc1-mm1

## Poe

witam. nie potrafie uporac sie z  instalacja nvidia-drivers w wersji 173.14.12 na 2.6.27-rc1-mm1, oto co otrzymuje:

```

D_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 3658:  Called linux-mod_src_compile

 *             environment, line 2699:  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.

.....

```

probowalem przestawic makeopts na -j1, sprawdzalem, czy nie mam w kernelu CONFIG_PARAVIRT=y itp.

ktos cos wie? czy w ogole nie warto bawic sie ze sterownikami z portage, tylko postawic te z nvidia.com?

pozdrawiam

----------

## pancurski

Trochę głupio radzić komuś kto ma 5 razy więcej postów ode mnie :].

Próbowałeś instalować wersję stabilną, zarówno jeśli chodzi o nvidie jak i kernela ?

Usunąłeś z jądra wsparcie dla sterowników nvidii ?

----------

## SlashBeast

No to raczej problem braku kompatybilności sterowników nVidia z kernelami rc czy mm, moge wiedzieć z jakiego powodu bawisz się w -mm?

----------

## Poe

a tam glupio  :Wink:  to wcale nic nie znaczy.

wlasnie tez mi sie tak wydaje, ze chodzi o zbyt nowego kernela/latki -mm, bo w kernelu nie mam wsparcia dla nvidii (wylaczylem).

dlaczego -mm? kwestia przyzwyczajenia  :Smile:  no i support dla reiser4, no chyba ze wsadzili to juz do gentoo, ale nie wydaje mi sie.

----------

## SlashBeast

U mnie śmiga łatka reiser4-for-2.6.25 na 2.6.26.x, normalnie na gentoo-sources nakładana a na ów kernelu nvidia napewno działa, może sprawdzisz?

----------

## Poe

chetnie, wlasnie chce to zrobic, bo szczerze, to nie chcialo mi sie rejectów poprawiać, ale skoro mówisz, ze bez problemu łata, to why not  :Smile: 

edit

masz moze paczkę z calym patchem dla reisera? jakbys mogl mi ja na maila podeslac, albo gdzies wystawic, bylbym wdzieczny, bo znalazlem jedynie  z -mm, ale to jest kilka patchów, z którymi nie chce mi się bawić.

edit2

ok, juz mam  :Smile: 

----------

## n3rd

Nie mam sterowników nvidii... kernel mam 2.6.23... więc mogę tylko zgadywać. Dodaj w ebuildzie w funkcji src_unpack() to co dopisałem (CUT). Całość przetestuj poleceniem: 

```
ebuild nvidia-drivers-XXXX.ebuild digest install
```

Dzięki temu nie zainstalujesz paczki od razu w systemie, tylko będziesz mógł spokojnie sprawdzić, czy wszystko jest ok.

```
src_unpack() {

   if use kernel_linux && kernel_is lt 2 6 7; then

      echo

      ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"

      ewarn "This is not officially supported for ${P}. It is likely you"

      ewarn "will not be able to compile or use the kernel module."

      ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7"

      echo

      ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored."

   fi

   if ! use x86-fbsd; then

      cd "${WORKDIR}"

         bash "${DISTDIR}"/${NV_PACKAGE}${PKG_V}.run --extract-only

   else

      unpack ${A}

   fi

   # Patches go below here, add brief description

   cd "${S}"

   use x86-fbsd && cd doc

   # Use the correct defines to make gtkglext build work

   epatch "${FILESDIR}"/NVIDIA_glx-defines.patch

   # Use some more sensible gl headers and make way for new glext.h

   epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch

   # allow on board sensors to work with lm_sensors

   if use kernel_linux; then

      epatch "${FILESDIR}"/NVIDIA_i2c-hwmon.patch

   fi

   if use kernel_linux; then

      # Quiet down warnings the user does not need to see

      sed -i \

         -e 's:-Wpointer-arith::g' \

         -e 's:-Wsign-compare::g' \

         "${NV_SRC}"/Makefile.kbuild

      # If you set this then it's your own fault when stuff breaks :)

      use custom-cflags \

         && einfo "Patching ${NV_SRC}/Makefile* to respect custom cflags" \

         && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.*

      # If greater than 2.6.5 use M= instead of SUBDIR=

         convert_to_m "${NV_SRC}"/Makefile.kbuild

   fi

   # ------------------------------- CUT ------------------------------------

   libtoolize --copy --force; aclocal; autoconf; automake --add-missing

   # ------------------------------ END CUT ---------------------------------

}
```

----------

## Poe

dzieki za pomoc, problemem jest zbyt nowy kernel (albo w ogole -mm jest niekompatybilne). na gentoo-sources dziala. 

pozdrawiam

----------

## unK

w zen-overlay są nvidia-drivers które się kompilują na mm (tzn. na zenmm, ale na czystym mm też nie powinno być problemu).

----------

