RISOLTO: drive NVIDIA

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
ermes
Linux 2.x
Linux 2.x
Messaggi: 372
Iscritto il: dom 20 feb 2005, 0:00
Slackware: current 64
Desktop: kde
Località: Rho (Mi)

RISOLTO: drive NVIDIA

Messaggio da ermes »

sono alla fase della messa a punto della slk11.
ho scaricato i nuovi drive NVIDIA e non riesco a installarli.
Ecco il messaggio di errore.

________________________________________________________________
ERROR: Unable to determine the version of the kernel sources located in
'/lib/modules/2.6.18/source'. Please make sure you have installed the
kernel source files for your kernel and that they are properly
configured; on Red Hat Linux systems, for example, be sure you have the
'kernel-source' RPM installed. If you know the correct kernel source
files are installed, you may specify the kernel source path with the
'--kernel-source-path' command line option.
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 http://www.nvidia.com.
________________________________________________________________

ho cercato nel forum e ho trovato un post che rappresentava +/- lo stesso problema, indicava anche la causa (mancanza di un file: versione.h mi pare) ma non dava soluzioni.

qualche anima pia mi sa dire cosa fare ?
Ultima modifica di ermes il sab 7 ott 2006, 9:47, modificato 1 volta in totale.

Avatar utente
py67
Linux 2.x
Linux 2.x
Messaggi: 489
Iscritto il: mar 4 ott 2005, 18:34

Messaggio da py67 »

Installa i source del tuo kernel

Avatar utente
ermes
Linux 2.x
Linux 2.x
Messaggi: 372
Iscritto il: dom 20 feb 2005, 0:00
Slackware: current 64
Desktop: kde
Località: Rho (Mi)

Messaggio da ermes »

avendo già installato più volte le diverse versioni dei drive NVIDIA l'avevo già già fatto ... ma non funziona.

grazie comunque ! ;)

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Messaggio da urka58 »

Dal kernel 2.6.18 sono stati leggermente modificati gli header files, in particolare
/usr/src/linux-2.6.18/include/linux/version.h non riporta più la versione del kernel essendo tale variabile spostata in /usr/src/linux-2.6.18/include/linux/utsrelease.h.
Da cui l'impossibilità dell'installer dei driver nvidia di utilizzare gli header per costruire l'interfaccia per il kernel
Dalla versione 1.0-8774 del driver nvidia questo problema dovrebbe essere stato risolto anche se per la verità sul mio sistema pur compilando correttamente in pratica il caricamento del driver mi dava qualche problema. Ho deciso di provare il driver beta 1.0-9625 e tutto funziona perfettamente.
In alternativa questa patch (dal forum nvidia) funziona sul driver 1.0-8762


diff -ru usr/src/nv/conftest.sh usr/src/nv.U072006/conftest.sh
--- usr/src/nv/conftest.sh 2006-05-15 22:42:17.000000000 +0200
+++ usr/src/nv.U072006/conftest.sh 2006-07-20 19:04:30.486659250 +0200
@@ -43,7 +43,8 @@
# Determine the number of arguments expected by remap_page_range.
#

- echo "#include <linux/mm.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/mm.h>
void conftest_remap_page_range(void) {
remap_page_range();
}" > conftest$$.c
@@ -56,7 +57,8 @@
exit 1
fi

- echo "#include <linux/mm.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/mm.h>
int conftest_remap_page_range(void) {
pgprot_t pgprot = __pgprot(0);
return remap_page_range(NULL, 0L, 0L, 0L, pgprot);
@@ -71,7 +73,8 @@
exit 0
fi

- echo "#include <linux/mm.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/mm.h>
int conftest_remap_page_range(void) {
pgprot_t pgprot = __pgprot(0);
return remap_page_range(0L, 0L, 0L, pgprot);
@@ -248,7 +251,8 @@
# tree or at headers shipped for a specific kernel.
# Determine the kernel version using a compile check.
#
- echo "#include <linux/version.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/version.h>
#include <linux/utsname.h>
int main() {
if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)) {
@@ -341,11 +345,23 @@
# tree or at headers shipped for a specific kernel.
# Determine the kernel version using a compile check.
#
- echo "#include <linux/version.h>
- int main() {
- printf(\"%s\", UTS_RELEASE);
- return 0;
- }" > conftest$$.c
+ FILE="linux/utsrelease.h"
+
+ if [ -f $HEADERS/$FILE -o -f $OUTPUT/include/$FILE ]; then
+ echo "#include <linux/autoconf.h>
+ #include <linux/utsrelease.h>
+ int main() {
+ printf(\"%s\", UTS_RELEASE);
+ return 0;
+ }" > conftest$$.c
+ else
+ echo "#include <linux/autoconf.h>
+ #include <linux/version.h>
+ int main() {
+ printf(\"%s\", UTS_RELEASE);
+ return 0;
+ }" > conftest$$.c
+ fi

$HOSTCC $CFLAGS -o conftest$$ conftest$$.c > /dev/null 2>&1
rm -f conftest$$.c
@@ -494,7 +510,8 @@
# Determine if change_page_attr() is present
#

- echo "#include <linux/version.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/version.h>
#include <linux/utsname.h>
#include <linux/mm.h>
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 0)
@@ -520,7 +537,8 @@
# Determine if pci_get_class() is present.
#

- echo "#include <linux/pci.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/pci.h>
void conftest_pci_get_class(void) {
pci_get_class();
}" > conftest$$.c
@@ -541,7 +559,8 @@
# Determine if remap_pfn_range() is present.
#

- echo "#include <linux/mm.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/mm.h>
void conftest_remap_pfn_range(void) {
remap_pfn_range();
}" > conftest$$.c
@@ -562,7 +581,8 @@
# Is 'rlim' a member of current->signal?
#

- echo "#include <linux/sched.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/sched.h>
struct rlimit *conftest_signal_struct_rlim(void) {
return current->signal->rlim;
}" > conftest$$.c
@@ -584,7 +604,8 @@
# aware.
#

- echo "#include <linux/types.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/types.h>
#include <linux/agp_backend.h>
typedef struct agp_bridge_data agp_bridge_data;
agp_bridge_data *conftest_agp_backend_acquire(struct pci_dev *dev) {
@@ -608,7 +629,8 @@
# it takes.
#

- echo "#include <linux/vmalloc.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/vmalloc.h>
void conftest_vmap(void) {
vmap();
}" > conftest$$.c
@@ -621,7 +643,8 @@
exit 1
fi

- echo "#include <linux/vmalloc.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/vmalloc.h>
void *conftest_vmap(struct page **pg, int cnt) {
return vmap(pg, cnt);
}" > conftest$$.c
@@ -635,7 +658,8 @@
exit 0
fi

- echo "#include <linux/vmalloc.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/vmalloc.h>
#include <linux/mm.h>
void *conftest_vmap(struct page **pg, int cnt) {
return vmap(pg, cnt, 0, PAGE_KERNEL);
@@ -662,7 +686,8 @@
# the inc_use() and dec_use() callback entries.
#

- echo "#include <linux/i2c.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/i2c.h>
int conftest_i2c_adapter_inc_use() {
return offsetof(struct i2c_adapter, inc_use);
}" > conftest$$.c
@@ -684,7 +709,8 @@
# kernel.
#

- echo "#include <linux/sched.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/sched.h>
int conftest_sysctl_max_map_count(void) {
return sysctl_max_map_count;
}" > conftest$$.c
@@ -705,7 +731,8 @@
# Does linux/pm.h declare the pm_message_t type?
#

- echo "#include <linux/pm.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/pm.h>
void conftest_pm_message_t(pm_message_t state) {
pm_message_t *p = &state;
}" > conftest$$.c
@@ -726,7 +753,8 @@
# Determine if pci_choose_state() is present.
#

- echo "#include <linux/pci.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/pci.h>
void conftest_pci_choose_state(void) {
pci_choose_state();
}" > conftest$$.c
@@ -747,7 +775,8 @@
# Determine if vm_insert_page() is present.
#

- echo "#include <linux/mm.h>
+ echo "#include <linux/autoconf.h>
+ #include <linux/mm.h>
void conftest_vm_insert_page(void) {
vm_insert_page();
}" > conftest$$.c



Ciao

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

2.6.18 con 8774 nessun problema, i beta non mi vanno. Ma giustamente sono beta :asd:

Avatar utente
Harp
Staff
Staff
Messaggi: 1424
Iscritto il: sab 17 apr 2004, 0:00
Nome Cognome: Franco Fiorin
Slackware: 13.0
Kernel: 2.6.29
Desktop: KDE 4.2.4
Località: Vittorio Veneto (TV)
Contatta:

Messaggio da Harp »

Non è un problema relativo agli HEADERS?
Installa i tgz presenti in extra/linux-2.6.17.13, tramite il comando upgradepkg --install-new

kernel-generic-2.6.17.13-i486-1.tgz
kernel-headers-2.6.17.13-i386-1.tgz
kernel-modules-2.6.17.13-i486-1.tgz
kernel-source-2.6.17.13-noarch-1.tgz

Avatar utente
dapuzz
Linux 4.x
Linux 4.x
Messaggi: 1137
Iscritto il: mar 16 mag 2006, 11:09
Contatta:

Messaggio da dapuzz »

a lui li cerca in 2.6.18 quindi mi auguro che abbia ricompilato il kernel, non semplicemente messo il test26 di cui non si hanno nè moduli nè header, nè sources... o mi sbaglio? :badgrin:

Avatar utente
urka58
Linux 3.x
Linux 3.x
Messaggi: 543
Iscritto il: mer 7 dic 2005, 23:29

Messaggio da urka58 »

Installare gli header files di un kernel più recente della versione con cui è stato compilato gcc è una pratica che può portare talvolta a problemi nella compilaziione dei sorgenti, non sempre ...ma qualche volta.
Comunque i driver nvidia o meglio l'interfaccia per il kernel viene compilata utilizzando gli header files dei sorgenti del kernel, non /usr/include/*.
Ciao

samiel
Staff
Staff
Messaggi: 5511
Iscritto il: ven 16 gen 2004, 0:00
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian
Località: Venezia

Messaggio da samiel »

Io ho messo il kernel 2.6.18
e ho lasciato gli headers del 2.4.33.3
Nessun problema di compilazione

M.

Avatar utente
Harp
Staff
Staff
Messaggi: 1424
Iscritto il: sab 17 apr 2004, 0:00
Nome Cognome: Franco Fiorin
Slackware: 13.0
Kernel: 2.6.29
Desktop: KDE 4.2.4
Località: Vittorio Veneto (TV)
Contatta:

Messaggio da Harp »

samiel ha scritto:Io ho messo il kernel 2.6.18
e ho lasciato gli headers del 2.4.33.3
Nessun problema di compilazione

M.
Questa cosa degli Header mi fa confusione.
Io uso un kernel 2.6. E' meglio usare gli header del 2.6 o è indifferente?

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Re: drive NVIDIA

Messaggio da gohanz »

ermes ha scritto:sono alla fase della messa a punto della slk11.
ho scaricato i nuovi drive NVIDIA e non riesco a installarli.
Ecco il messaggio di errore.


ho cercato nel forum e ho trovato un post che rappresentava +/- lo stesso problema, indicava anche la causa (mancanza di un file: versione.h mi pare) ma non dava soluzioni.

qualche anima pia mi sa dire cosa fare ?

Controlla per primo che ci sia un link simbolico in /usr/src chiamato linux che punti alla directory dei sorgenti del kernel in esecuzione!
Devi inoltre controllare i due link simbolici(Build e Source) presenti in /lib/modules/versione-kernel. Devono puntare alla directory dei sorgenti della loro versione di kernel.
Terzo i sorgenti del kernel devono contenere il file .config ed i file object della compilazione.

Avatar utente
ermes
Linux 2.x
Linux 2.x
Messaggi: 372
Iscritto il: dom 20 feb 2005, 0:00
Slackware: current 64
Desktop: kde
Località: Rho (Mi)

Messaggio da ermes »

grazie a tutti.
avevo installato gli headers e i sorgenti... tutto regolare quindi.

semplicemente non andavano bene i drive NVIDIA.

ho provato ad installare la versione 1.0-9625 beta NVIDIA e tutto è filato liscio. (la resa mi sambro ottima).

grazie

;)

Rispondi