ca fonctionnize plus [RESOLU] [NVIDIA & RECOMPIL] - Installation - Linux et OS Alternatifs
Marsh Posté le 02-03-2004 à 20:06:22
perso quand j'ai ce pb je fais comme ça :
vérifier que /usr/src/linux pointes vers les bonnes sources
dans /usr/src/linux :
sauvegarde du .config
make mrproper
restauration du .config
make oldconfig
make dep
et je relanecs le script d'install
Marsh Posté le 02-03-2004 à 20:10:41
c'est bien ces headers que je dois utilser :kernel-headers-2.4.25-1-686-smp ?
EDIT: et la commande : ./NVIDIA-Linux-x86-1.0-4620-pkg1.run --kernel-include-path=/usr/src/kernel-headers-2.4.25-1-686-smp/include/
c est ca ? car même apres ta proposition Mjules, ça ne donne rien avec les différents headers
Marsh Posté le 02-03-2004 à 20:36:43
chez moi, ce qu'il faut est amené par glibc-devel
je n'utilise pas les kernel headers (ceux que j'ai sont pour le 2.4.18 et j'ai un 2.4.25 patché)
Marsh Posté le 02-03-2004 à 20:51:19
apt-get search ne me retourne pas de glibc-dev
mais par ca renvoie
libglib1.2-dev
libglib2.0-dev
c'est les bons ou pas du tout
Marsh Posté le 02-03-2004 à 20:51:53
sais pas, j'ai une mandrake
Marsh Posté le 02-03-2004 à 21:05:37
c'est pas les headers le problème (elles sont dans les sources du noyau et il ne faut pas utiliser celles du système !!), c'est module-init-tools qui fout le merdier, ton module a été compilé mais ne peut pas être chargé par module-init-tools et vu qu'il ne trouve pas le bon insmod (pour 2.4) : ça foire (car en plus depmod n'est pas bon pour cette version de noyau), pour ce qui est des avertissements : "c'est normal", il faudrait pour bien faire :
- supprimer tous les modutils.old (insmod.old, depmod.old, ...)
- installer la dernière version de modutils
- compiler/apt-geter module-init-tools (la 3.0) si tu utilises un noyau 2.6 en parallèle (si tu compiles : ./configure --prefix=/;make moveold;make;make install; ln -s /bin/insmod.old /sbin/insmod.old; ln -s /bin/insmod.old /usr/local/sbin/insmod.old)
tu ne devrais plus avoir de soucis avec ça
Marsh Posté le 02-03-2004 à 21:18:48
je n'ai pas tout compris a ton explication (dsl je suis une moule encore )
par contre je n'utilise pas module-init-tools, seuleument modutils (la 2.4.26-1) ...
Marsh Posté le 02-03-2004 à 21:26:43
Citation : |
vérfie que le module nvidia.o se trouve bien dans /lib/modules/`uname -r`/kernel/drivers/video
ah mais ça va pas le faire, t'as aussi réellement une erreur d'headers, compile le module à la mano :
./NVIDIA-Linux*.run --extract-only
cd NVIDIA-Linux*
cd usr/src/nv
SYSINCLUDE=/usr/src/linux-TA_VERSION make
ça devrait aller mieux, n'essaye pas d'utiliser des headers externes, utilise les sources du noyau que tu fais tourner, si c'est un noyau debian directement installé (pas recompilé), là il te faudra chopper les headers de CETTE version du noyau, pas autre chose, là on dirait que tu essayes de compiler avec des headers différentes du noyau actuel : ça va pas le faire, mais je soupçonne en 1er le problème de modutils là
Marsh Posté le 03-03-2004 à 02:12:06
quand tu dis que je ne dois pas utiliser les headers mais ceux du noyau , c est a dire que je dois préciser le --kernel-include-path à /usr/src/linux/include/
de même pour la compil à la main:
|
In file included from /usr/include/asm/smp.h:18, |
Marsh Posté le 03-03-2004 à 02:22:16
apt-get install kernel-source-2.4.25
deb ftp://ftp.fr.debian.org/debian/ unstable main
deb-src ftp://ftp.fr.debian.org/debian/ unstable main
deb http://non-us.debian.org/debian-non-US unstable/non-US main
deb-src http://non-us.debian.org/debian-non-US unstable/non-US main
deb ftp://ftp.fr.debian.org/debian/ unstable main non-free contrib
deb-src ftp://ftp.fr.debian.org/debian/ unstable main non-free contrib
Marsh Posté le 03-03-2004 à 03:31:23
put1, j'ai fait le boulet dans la précipitation, je pigeais pas pourquoi il partait dans /usr/include/linux avec la compile à la mano, j'ai oublié un include
la commande c'est : SYSINCLUDE=/usr/src/linux/include make
edit : il faut charger la conf du noyau que tu fais tourner actuellement (si tu as compilé à partir de ces sources c'est bon donc), puis faire un : make dep
après tu peux lancer la compile nvidia avec la commande du dessus dans le répertoire NVIDIA-Linux*/usr/src/nv, ensuite à al racine du répertoire NVIDIA-Linux* tu fais un make install pour mettre les libs si besoin, si déjà installées précédemment c'est pas la peine
Marsh Posté le 02-03-2004 à 20:02:33
Bon j'ai recompilé un 2.4.25
uname -a
Linux Onyx 2.4.25 #1 SMP Tue Mar 2 19:14:34 GMT 2004 i686 GNU/Linux
et évidement j'ai du réinstaller les drivers de ma geforce3
le problème est qu'en suivant la procédure habituelle (réalisée sur une woody de base sans pb) foire
- je kill X
- puis ./NVIDIA-Linux-x86-1.0-4620-pkg1.run
là j'ai un message d'erreur qui me dit que les headers ne sont pas les bons (c'étaient les 2.4.18) donc je les télécharges, mais même en spécifiant le chemin avec --kernel-include-path=/usr/src/... ca foire
pourtant j'en ai essayé un tas :
ls /usr/src/
kernel-headers-2.4.18-bf2.4
kernel-headers-2.4.25-1-386
kernel-headers-2.4.25-1-686-smp
kernel-source-2.4.25.tar.bz2
kernel-headers-2.4.25-1
kernel-headers-2.4.25-1-686
kernel-image-2.4.25_SOUND4_i386.deb
kernel-source-2.4.25
linux -> kernel-source-2.4.25
ce qui me saoule c'est que je les avais déjà installé ces foutus drivers
cat /var/log/nvidia-installer.log
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Tue Mar 2 19:42:22 2004
option status:
license pre-accepted : false
update : false
force update : false
expert : false
uninstall : false
driver info : false
no precompiled interface: false
no ncurses color : false
query latest driver ver : false
OpenGL header files : false
no questions : false
silent : false
XFree86 install prefix : /usr/X11R6
OpenGL install prefix : /usr
Installer install prefix: /usr
kernel include path : /usr/src/kernel-headers-2.4.25-1-686-smp/include/
kernel install path : (not specified)
proc mount point : /proc
ui : (not specified)
tmpdir : /tmp
ftp site : ftp://download.nvidia.com
Using: nvidia-installer ncurses user interface
-> License accepted.
-> There appears to already be a driver installed on your system (version: 1.0-
4496). As part of installing this driver (version: 1.0-4496), the existing
driver will be uninstalled. Are you sure you want to continue? ('no' will a
bort installation) (Answer: Yes)
-> No precompiled kernel interface was found to match your kernel; would you li
ke the installer to attempt to download a kernel interface for your kernel f
rom the NVIDIA ftp site (ftp://download.nvidia.com)? (Answer: No)
-> No precompiled kernel interface was found to match your kernel; this means
that the installer will need to compile a new kernel interface.
-> Using the kernel include path
'/usr/src/kernel-headers-2.4.25-1-686-smp/include/' as specified by the
'--kernel-include-dir' commandline option.
-> Kernel include path: '/usr/src/kernel-headers-2.4.25-1-686-smp/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=/usr/src/kernel-header
s-2.4.25-1-686-smp/include/'...
echo \#define NV_COMPILER \"`cc -v 2>&1 | tail -n 1`\" > nv_compiler.h
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
_KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
GE_RANGE_4 -I. -I/usr/src/kernel-headers-2.4.25-1-686-smp/include/ -Wno-cas
t-qual nv.c
In file included from /usr/src/kernel-headers-2.4.25-1-686-smp/include/linux
/vmalloc.h:8,
from nv-linux.h:72,
from nv.c:14:
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h: In functio
n `bh_kmap':
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h:20: warning
: pointer of type `void *' used in arithmetic
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
_KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
GE_RANGE_4 -I. -I/usr/src/kernel-headers-2.4.25-1-686-smp/include/ -Wno-cas
t-qual os-agp.c
In file included from /usr/src/kernel-headers-2.4.25-1-686-smp/include/linux
/vmalloc.h:8,
from nv-linux.h:72,
from os-agp.c:24:
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h: In functio
n `bh_kmap':
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h:20: warning
: pointer of type `void *' used in arithmetic
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
_KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV
_PATCHLEVEL=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86
-DREMAP_PAGE_RANGE_4 -I. -I/usr/src/kernel-headers-2.4.25-1-686-smp/include
/ -Wno-cast-qual os-interface.c
In file included from /usr/src/kernel-headers-2.4.25-1-686-smp/include/linux
/vmalloc.h:8,
from nv-linux.h:72,
from os-interface.c:26:
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h: In functio
n `bh_kmap':
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h:20: warning
: pointer of type `void *' used in arithmetic
cc -c -Wall -Wimplicit -Wreturn-type -Wswitch -Wformat -Wchar-subscripts -Wp
arentheses -Wpointer-arith -Wcast-qual -Wno-multichar -O -MD -D__KERNEL__ -
DMODULE -D_LOOSE_KERNEL_NAMES -DNTRM -D_GNU_SOURCE -D_LOOSE_KERNEL_NAMES -D_
_KERNEL__ -DMODULE -DNV_MAJOR_VERSION=1 -DNV_MINOR_VERSION=0 -DNV_PATCHLEVE
L=4496 -DNV_UNIX -DNV_LINUX -DNV_INT64_OK -DNVCPU_X86 -DREMAP_PA
GE_RANGE_4 -I. -I/usr/src/kernel-headers-2.4.25-1-686-smp/include/ -Wno-cas
t-qua
l os-registry.c
In file included from /usr/src/kernel-headers-2.4.25-1-686-smp/include/linux
/vmalloc.h:8,
from nv-linux.h:72,
from os-registry.c:14:
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h: In functio
n `bh_kmap':
/usr/src/kernel-headers-2.4.25-1-686-smp/include/linux/highmem.h:20: warning
: pointer of type `void *' used in arithmetic
ld -r -o nv-linux.o nv.o os-agp.o os-interface.o os-registry.o
ld -r -o nvidia.o nv-linux.o nv-kernel.o
-> done.
-> Kernel module compilation complete.
ERROR: Unable to load the kernel module 'nvidia.o'. This is most likely
because the kernel module was built using the wrong kernel header files.
Please make sure you have installed the kernel header files for your
kernel; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' rpm installed. If you know the correct kernel header
files are installed, you may specify the kernel include path with the
'--kernel-include-path' commandline option.
-> Kernel module load error: Kernel requires old insmod, but couldn't run
/usr/local/sbin/insmod.old: No such file or directory
ERROR: Installation has failed. Please see the file
'/var/log/nvidia-installer.log' for details. You may find suggestions
on fixing installation problems in the README available on the Linux
driver download page at www.nvidia.com.
Message édité par xpoulet le 03-03-2004 à 12:02:29