PDA

View Full Version : [newbie]gcc..


clemmy
10-03-2004, 20:18
cercando di installare i driver nvdia mi ivene fuori un bel messaggio di errore secondo cui il mio comipalatore è diverso da quello usato per compilare il kernel in uso...cosa devo fare?
ho debian (knoppix3.3 installata su hd) con kernel 2.4.22-xfs..facendo #dpkg -l,tra i tanti vedo questi pacchetti...
ii gcc 3.2.3-1 The GNU C compiler.
ii gcc-2.95 2.95.4-17 The GNU C compiler.
ii gcc-3.2 3.2.3-8 The GNU C compiler
ii gcc-3.2-base 3.2.3-8 The GNU Compiler Collection (base package)
ii gcc-3.3-base 3.3.1-0pre0 The GNU Compiler Collection (base package)

devo ricompilare il kernel con il mio compilatore, o posso capire in qlc modo qual'è il compilatore giusto da installare?

Pardo
10-03-2004, 21:10
ma si puo` proseguire e dovrebbe funzionare cmq

se non ti fa proprio andare avanti mi sa che e` meglio che provi 1 o 2 versioni precedenti del driver nvidia dove si poteva (sempre se la mia memoria non e` ormai bruciata..)


se proprio devi il gcc da installare e` nella prima riga che stampa il kernel al boot

$ dmesg | head -n 1
Linux version 2.4.24 (leo@xxxxx) (gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #1 Sun Feb 15 18:11:51 CET 2004

cmq la distinzione rilevante e` fra 2.x e 3.x non e` che devi avere l'esatto numero -_-

clemmy
10-03-2004, 21:17
no,non mi fa andare avanti,o meglio, mi dice che per andare avanti dovrei dare l'opzione IGNORE_CC_MISMATCH ma non so da dove darla...
riporto qui il file /var/log/nvidia-installer.log

-> No precompiled kernel interface was found to match your kernel; this means
that the installer will need to compile a new kernel interface.
-> Kernel include path: '/lib/modules/2.4.22-xfs/build/include'
-> Cleaning kernel module build directory.
executing: 'cd ./usr/src/nv; make clean'...
rm -f nv.o os-agp.o os-interface.o os-registry.o nv-linux.o nv_compiler.h *
.d NVdriver nvidia.o
-> Building kernel module:
executing: 'cd ./usr/src/nv; make nvidia.o SYSINCLUDE=/lib/modules/2.4.22-xf
s/build/include'...

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.

^[[1;31m*** Failed cc sanity check. Bailing out! ***
^[[0mmake: *** [gcc-check] Error 1
-> Error.
ERROR: Unable to build the NVIDIA kernel module.

Pardo
10-03-2004, 21:45
Penso intenda come var d'ambiente visto che dopo parla anche della CC che lo e`.
Con la Bash si usa export.
export IGNORE_BLABLA=1
O anche =true se non cambia nulla, o =yes.. penso basti settarla a qualcosa cmq.

clemmy
11-03-2004, 14:22
ho giracchiato un po nel fs,e ho visto che il file /usr/bin/gcc era un link simbolico al file /usr/bin/gcc-3.3..l'ho cancellato e ho rinominato /usr/bin/gcc-2.95 in /usr/bin/gcc (dato che il mio kernel è stato compilato col 2.94)..forse non era questo il modo giusto per settare quale dei gcc usare,cmq funziona:infatti ora compila..peccato che poi non riesca a portare a termine la compilazione e mi dia degli errori! :muro: