Hi. I just updated the kernel (with YOU) and it said that I have to reinstall my GeForce 2 drivers. I read the instructions in the HOWTO. I did all those cp commands and whatnot, but when I tried make install: shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv> su -c "make install" Password: You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel. This may be perfectly fine, but there are cases where this can lead to unexpected behaviour and system crashes. If you know what you are doing and want to override this check, you can do so by setting IGNORE_CC_MISMATCH. In any other case, set the CC environment variable to the name of the compiler that was used to compile the kernel. *** Failed cc sanity check. Bailing out! *** make: *** [gcc-check] Error 1 shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv> cc --version cc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv> What version was used to compile the kernel? How do I fix this problem?
On Tue, Aug 19, 2003 at 09:54:54AM -0400, Shalom Naumann wrote:
Hi. I just updated the kernel (with YOU) and it said that I have to reinstall my GeForce 2 drivers. I read the instructions in the HOWTO. I did all those cp commands and whatnot, but when I tried make install: shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv> su -c "make install" Password:
You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel. This may be perfectly fine, but there are cases where this can lead to unexpected behaviour and system crashes.
If you know what you are doing and want to override this check, you can do so by setting IGNORE_CC_MISMATCH.
In any other case, set the CC environment variable to the name of the compiler that was used to compile the kernel.
*** Failed cc sanity check. Bailing out! *** make: *** [gcc-check] Error 1 shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv> cc --version cc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/src/nv>
What version was used to compile the kernel? How do I fix this problem?
I updated the HOWTO in the meantime. [...] 2) Use the nvidia installer. export IGNORE_CC_MISMATCH=yes sh NVIDIA-Linux-x86-1.0-4363.run [...] Hope this helps. BTW, here is what my developper contact at nvidia wrote to me some days ago about this issue: ---------------------------------------------------------------------- [...] Hi Stefan. OK, if that's the problem, then it's probably just our bug. Because some data structures in the kernel change based on the version of gcc you use, we've tried to enforce that you build the NVIDIA kernel module with the same compiler that is used to build the kernel. We used to try to extract the compiler version with this Makefile ugliness: # determine gcc versions used (kernel, nvidia.o) module_cc:=$(shell $(CC) -v 2>&1 | tail -n 1) version="^Linux version [^(]* (.*@.*) (\(.*\)) .*" kernel_cc:=$(shell cat /proc/version | sed "s/"$(version)"/\1/") module_cc:=$(shell echo "$(module_cc)" | cut -d ' ' -f 3) kernel_cc:=$(shell echo "$(kernel_cc)" | cut -d ' ' -f 3) [...] gcc-check: @if [ -z $(IGNORE_CC_MISMATCH) ]; then \ if [ "$(kernel_cc)" != "$(module_cc)" ]; then \ [...] \ fi \ fi Unfortunately, that sed script is very fragile. For the next driver release, this will instead be done with: VERSION="^Linux version.* (.*) (\(gcc.*\)).*" KERNEL=$(cat /proc/version | sed "s/$VERSION/\1/") MODULE=$($* -v 2>&1 | tail -n 1) if test "$KERNEL" != "$MODULE"; then # # The kernel seems to have been built with a different version # of the C compiler, which may be a problem. # exit 1 else exit 0 fi [...] ---------------------------------------------------------------------- Best regards, Stefan Public Key available ---------------------------------------------------- Stefan Dirsch (Res. & Dev.) SuSE Linux AG Tel: 0911-740530 Deutschherrnstr. 15-19 FAX: +49 911 741 77 55 D-90429 Nürnberg http://www.suse.de Germany ----------------------------------------------------
Thank you. The new instructions worked - now I can continue playing TuxRacer. By the way, you may want to include something in the HOWTO that I found confusing the first time I installed the driver - switching to runlevel 3 in order to exit XWindows. On Tuesday 19 August 2003 10:39, Stefan Dirsch wrote:
On Tue, Aug 19, 2003 at 09:54:54AM -0400, Shalom Naumann wrote:
Hi. I just updated the kernel (with YOU) and it said that I have to reinstall my GeForce 2 drivers. I read the instructions in the HOWTO. I did all those cp commands and whatnot, but when I tried make install: shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/s rc/nv> su -c "make install" Password:
You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel. This may be perfectly fine, but there are cases where this can lead to unexpected behaviour and system crashes.
If you know what you are doing and want to override this check, you can do so by setting IGNORE_CC_MISMATCH.
In any other case, set the CC environment variable to the name of the compiler that was used to compile the kernel.
*** Failed cc sanity check. Bailing out! *** make: *** [gcc-check] Error 1 shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/s rc/nv> cc --version cc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/s rc/nv>
What version was used to compile the kernel? How do I fix this problem?
I updated the HOWTO in the meantime.
[...] 2) Use the nvidia installer.
export IGNORE_CC_MISMATCH=yes sh NVIDIA-Linux-x86-1.0-4363.run [...]
Hope this helps. BTW, here is what my developper contact at nvidia wrote to me some days ago about this issue:
---------------------------------------------------------------------- [...] Hi Stefan. OK, if that's the problem, then it's probably just our bug.
Because some data structures in the kernel change based on the version of gcc you use, we've tried to enforce that you build the NVIDIA kernel module with the same compiler that is used to build the kernel.
We used to try to extract the compiler version with this Makefile ugliness:
# determine gcc versions used (kernel, nvidia.o) module_cc:=$(shell $(CC) -v 2>&1 | tail -n 1) version="^Linux version [^(]* (.*@.*) (\(.*\)) .*" kernel_cc:=$(shell cat /proc/version | sed "s/"$(version)"/\1/")
module_cc:=$(shell echo "$(module_cc)" | cut -d ' ' -f 3) kernel_cc:=$(shell echo "$(kernel_cc)" | cut -d ' ' -f 3)
[...]
gcc-check: @if [ -z $(IGNORE_CC_MISMATCH) ]; then \ if [ "$(kernel_cc)" != "$(module_cc)" ]; then \ [...] \ fi \ fi
Unfortunately, that sed script is very fragile. For the next driver release, this will instead be done with:
VERSION="^Linux version.* (.*) (\(gcc.*\)).*" KERNEL=$(cat /proc/version | sed "s/$VERSION/\1/") MODULE=$($* -v 2>&1 | tail -n 1)
if test "$KERNEL" != "$MODULE"; then # # The kernel seems to have been built with a different version # of the C compiler, which may be a problem. # exit 1 else exit 0 fi [...] ----------------------------------------------------------------------
Best regards, Stefan
Public Key available ---------------------------------------------------- Stefan Dirsch (Res. & Dev.) SuSE Linux AG Tel: 0911-740530 Deutschherrnstr. 15-19 FAX: +49 911 741 77 55 D-90429 Nürnberg http://www.suse.de Germany ----------------------------------------------------
On Tue, Aug 19, 2003 at 11:03:08AM -0400, Shalom Naumann wrote:
Thank you. The new instructions worked - now I can continue playing TuxRacer. By the way, you may want to include something in the HOWTO that I found confusing the first time I installed the driver - switching to runlevel 3 in order to exit XWindows.
I already added this to the HOWTO yesterday. :-) Best regards, Stefan Public Key available ---------------------------------------------------- Stefan Dirsch (Res. & Dev.) SuSE Linux AG Tel: 0911-740530 Deutschherrnstr. 15-19 FAX: +49 911 741 77 55 D-90429 Nürnberg http://www.suse.de Germany ----------------------------------------------------
Uh, oops. On Tuesday 19 August 2003 11:05, Stefan Dirsch wrote:
On Tue, Aug 19, 2003 at 11:03:08AM -0400, Shalom Naumann wrote:
Thank you. The new instructions worked - now I can continue playing TuxRacer. By the way, you may want to include something in the HOWTO that I found confusing the first time I installed the driver - switching to runlevel 3 in order to exit XWindows.
I already added this to the HOWTO yesterday. :-)
Best regards, Stefan
Public Key available ---------------------------------------------------- Stefan Dirsch (Res. & Dev.) SuSE Linux AG Tel: 0911-740530 Deutschherrnstr. 15-19 FAX: +49 911 741 77 55 D-90429 Nürnberg http://www.suse.de Germany ----------------------------------------------------
On Tuesday 19 August 2003 17:39, Stefan Dirsch wrote: what about that dma context error I get on the smp kernel... I know that in the nvidia FAQ there is an answer reffering to this as a possible problem due to the missmatch of the compiler. nothing worked for me till now
On Tue, Aug 19, 2003 at 09:54:54AM -0400, Shalom Naumann wrote:
Hi. I just updated the kernel (with YOU) and it said that I have to reinstall my GeForce 2 drivers. I read the instructions in the HOWTO. I did all those cp commands and whatnot, but when I tried make install: shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/s rc/nv> su -c "make install" Password:
You appear to be compiling the NVIDIA kernel module with a compiler different from the one that was used to compile the running kernel. This may be perfectly fine, but there are cases where this can lead to unexpected behaviour and system crashes.
If you know what you are doing and want to override this check, you can do so by setting IGNORE_CC_MISMATCH.
In any other case, set the CC environment variable to the name of the compiler that was used to compile the kernel.
*** Failed cc sanity check. Bailing out! *** make: *** [gcc-check] Error 1 shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/s rc/nv> cc --version cc (GCC) 3.3 20030226 (prerelease) (SuSE Linux) Copyright (C) 2002 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
shalom@naumann:~/Documents/downloads/NVIDIA-Linux-x86-1.0-4496-pkg2/usr/s rc/nv>
What version was used to compile the kernel? How do I fix this problem?
I updated the HOWTO in the meantime.
[...] 2) Use the nvidia installer.
export IGNORE_CC_MISMATCH=yes sh NVIDIA-Linux-x86-1.0-4363.run [...]
Hope this helps. BTW, here is what my developper contact at nvidia wrote to me some days ago about this issue:
---------------------------------------------------------------------- [...] Hi Stefan. OK, if that's the problem, then it's probably just our bug.
Because some data structures in the kernel change based on the version of gcc you use, we've tried to enforce that you build the NVIDIA kernel module with the same compiler that is used to build the kernel.
We used to try to extract the compiler version with this Makefile ugliness:
# determine gcc versions used (kernel, nvidia.o) module_cc:=$(shell $(CC) -v 2>&1 | tail -n 1) version="^Linux version [^(]* (.*@.*) (\(.*\)) .*" kernel_cc:=$(shell cat /proc/version | sed "s/"$(version)"/\1/")
module_cc:=$(shell echo "$(module_cc)" | cut -d ' ' -f 3) kernel_cc:=$(shell echo "$(kernel_cc)" | cut -d ' ' -f 3)
[...]
gcc-check: @if [ -z $(IGNORE_CC_MISMATCH) ]; then \ if [ "$(kernel_cc)" != "$(module_cc)" ]; then \ [...] \ fi \ fi
Unfortunately, that sed script is very fragile. For the next driver release, this will instead be done with:
VERSION="^Linux version.* (.*) (\(gcc.*\)).*" KERNEL=$(cat /proc/version | sed "s/$VERSION/\1/") MODULE=$($* -v 2>&1 | tail -n 1)
if test "$KERNEL" != "$MODULE"; then # # The kernel seems to have been built with a different version # of the C compiler, which may be a problem. # exit 1 else exit 0 fi [...] ----------------------------------------------------------------------
Best regards, Stefan
Public Key available ---------------------------------------------------- Stefan Dirsch (Res. & Dev.) SuSE Linux AG Tel: 0911-740530 Deutschherrnstr. 15-19 FAX: +49 911 741 77 55 D-90429 Nürnberg http://www.suse.de Germany ----------------------------------------------------
participants (3)
-
Shalom Naumann
-
Stefan Dirsch
-
suse_ground