Welches Modul/Treiber für welche Hardware, Kernel compilieren...
-
MakuBa
- Beiträge: 3
- Registriert: 11.04.2011 15:44:08
Beitrag
von MakuBa » 11.04.2011 16:21:17
Hallo zusammen,
Ich habe ein Problem beim Kompilieren des snapapi26 Moduls von Acronis.
Laut der Aussage des Supports von Acronis kann ich das benötigte Modul deswegen nicht kompilieren weil der Kernel mit einer Anderen gcc Version kompiliert worden ist.
Das Problem liegt offensichtlich darin,dass gcc Version, mit der der Kernel kompiliert ist und gcc Version, mit der Modul für Kernel kompiliert ist , miteinander nicht übereinstimmen.
Gerade dies kann die mögliche Ursache des Fehlers bei der Installation sein.
Gcc Versionen sollen übereinstimmen: entweder soll man das Kernel auf eine neuere Version re-kompilieren, oder gcc Version für Modul für Kernel downgraden.
ein aufruf von
Code: Alles auswählen
cat /proc/version
Linux version 2.6.32-5-686 (Debian 2.6.32-30) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Wed Jan 12 04:01:41 UTC 2011
Installiert ist die gcc-Version 4.4 und 4.3
wie kann ich jetzt dkms sagen das es die gcc-Version 4.3 benutzt?
-
schorsch_76
- Beiträge: 2629
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von schorsch_76 » 11.04.2011 17:39:58
Um ganz sicher zu gehen verbiege ich die symlinks /usr/bin/gcc /usr/bin/g++ auf die Passende Version.
Gruß
schorsch
-
MakuBa
- Beiträge: 3
- Registriert: 11.04.2011 15:44:08
Beitrag
von MakuBa » 13.04.2011 08:51:07
Okay aber auch das funktioniert nicht richtig.
Es kommen immer die gleichen Fehlermeldungen
DKMS Meldung
Code: Alles auswählen
dkms build -m snapapi26 -v 0.7.54 --config /boot/config-2.6.32-5-686 --arch i686
Preparing kernel 2.6.32-5-686 for module build:
(This is not compiling a kernel, just preparing kernel symbols)
Storing current .config to be restored when complete
Storing current Modules.symvers to be restored when complele
Running Generic preparation routine
make mrproper....(bad exit status: 2)
using /boot/config-2.6.32-5-686
make oldconfig....(bad exit status: 2)
make prepare....(bad exit status: 2)
Building module:
cleaning build area....
make KERNELRELEASE=2.6.32-5-686 -C /usr/src/linux-headers-2.6.32-5-common SUBDIRS=/var/lib/dkms/snapapi26/0.7.54/build modules....(bad exit status: 2)
Error! Bad return status for module build on kernel: 2.6.32-5-686 (i686)
Consult the make.log in the build directory
/var/lib/dkms/snapapi26/0.7.54/build/ for more information.
0
0
Log Datei make.log
Code: Alles auswählen
DKMS make.log for snapapi26-0.7.54 for kernel 2.6.32-5-686 (i686)
Mi 13. Apr 08:40:40 CEST 2011
make: Entering directory `/usr/src/linux-headers-2.6.32-5-common'
ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
WARNING: Symbol version dump /usr/src/linux-headers-2.6.32-5-common/Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /var/lib/dkms/snapapi26/0.7.54/build/snapapi26.o
cc1: Fehler: include/linux/autoconf.h: Datei oder Verzeichnis nicht gefunden
/var/lib/dkms/snapapi26/0.7.54/build/snapapi26.c:8:7: Warnung: »HAVE_LINUX_AUTOCONF« ist nicht definiert
/var/lib/dkms/snapapi26/0.7.54/build/snapapi26.c:11:32: Fehler: generated/autoconf.h: Datei oder Verzeichnis nicht gefunden
In file included from include/linux/prefetch.h:14,
from include/linux/list.h:6,
from include/linux/module.h:9,
from /var/lib/dkms/snapapi26/0.7.54/build/snapapi26.c:13:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:116: Fehler: »CONFIG_X86_L1_CACHE_SHIFT« ist hier nicht deklariert (nicht in einer Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:116: Fehler: Verlangte Ausrichtung ist keine Konstante
In Datei, eingefügt von include/linux/prefetch.h:14,
von include/linux/list.h:6,
von include/linux/module.h:9,
von /var/lib/dkms/snapapi26/0.7.54/build/snapapi26.c:13:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:162:1: Warnung: »cache_line_size« redefiniert
In Datei, eingefügt von /usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:28,
von include/linux/prefetch.h:14,
von include/linux/list.h:6,
von include/linux/module.h:9,
von /var/lib/dkms/snapapi26/0.7.54/build/snapapi26.c:13:
include/linux/cache.h:64:1: Warnung: dies ist die Stelle der vorherigen Definition
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h: In Funktion »load_cr3«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:193: Fehler: »CONFIG_PAGE_OFFSETUL« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:193: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:193: Fehler: für jede Funktion in der er auftritt.)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:242: Fehler: Verlangte Ausrichtung ist keine Konstante
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/processor.h:273: Fehler: Verlangte Ausrichtung ist keine Konstante
In file included from /usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic.h:4,
from /usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/thread_info.h:24,
from include/linux/thread_info.h:56,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/seqlock.h:29,
from include/linux/time.h:8,
from include/linux/stat.h:60,
from include/linux/module.h:10,
from /var/lib/dkms/snapapi26/0.7.54/build/snapapi26.c:13:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:201: Warnung: »int« ist Standardtyp in Deklaration von »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:201: Fehler: expected »;«, »,« or »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:213: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:225: Fehler: expected declaration specifiers or »...« before »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: In Funktion »atomic64_add«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:228: Fehler: »v« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:227: Fehler: ungültiger L-Wert in asm-Ausgabe 0
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:227: Fehler: Speichereingabe 2 ist nicht direkt adressierbar
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:239: Fehler: expected declaration specifiers or »...« before »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: In Funktion »atomic64_sub«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:242: Fehler: »v« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:241: Fehler: ungültiger L-Wert in asm-Ausgabe 0
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:241: Fehler: Speichereingabe 2 ist nicht direkt adressierbar
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:255: Fehler: expected declaration specifiers or »...« before »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: In Funktion »atomic64_sub_and_test«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:260: Fehler: »v« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:259: Fehler: ungültiger L-Wert in asm-Ausgabe 0
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:259: Fehler: Speichereingabe 3 ist nicht direkt adressierbar
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:271: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:284: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:299: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:317: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:336: Fehler: expected declaration specifiers or »...« before »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: In Funktion »atomic64_add_negative«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:341: Fehler: »v« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:340: Fehler: ungültiger L-Wert in asm-Ausgabe 0
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:340: Fehler: Speichereingabe 3 ist nicht direkt adressierbar
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:353: Fehler: expected declaration specifiers or »...« before »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: In Funktion »atomic64_add_return«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:357: Fehler: »v« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:356: Fehler: ungültiger L-Wert in asm-Ausgabe 1
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:356: Fehler: Speichereingabe 3 ist nicht direkt adressierbar
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:362: Fehler: expected declaration specifiers or »...« before »atomic64_t«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: In Funktion »atomic64_sub_return«:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:364: Fehler: »v« nicht deklariert (erste Benutzung in dieser Funktion)
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:364: Fehler: zu viele Argumente für Funktion »atomic64_add_return«
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h: Auf höchster Ebene:
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:370: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:375: Fehler: expected »)« before »*« token
/usr/src/linux-headers-2.6.32-5-common/arch/x86/include/asm/atomic_64.h:425: Fehler: expected »)« before »*« token
-
schorsch_76
- Beiträge: 2629
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von schorsch_76 » 13.04.2011 08:58:09
Was das Problem ist sagt er dir ja gleich in der ersten Zeile:
ERROR: Kernel configuration is invalid.
include/linux/autoconf.h or include/config/auto.conf are missing.
Run 'make oldconfig && make prepare' on kernel src to fix it.
Dieses Modul wird sich nicht mit "nur" den Kernel Headern kompilieren lassen. Installiere dir die Kernel sourcen.
Code: Alles auswählen
aptitude install linux-source-`uname -r`
cd /usr/src
tar -xjf linux-source-`uname -r`.tar.bz2
ln -s /usr/src/linux /usr/src/linux-xxx (weis ich grad nicht auswendig)
cd /usr/src/linux
cp /boot/config-`uname -r` .config
make oldconfig && make prepare
Das ist jetzt aus dem Kopf geschrieben. Danach versuch nochmal das Modul zu bauen.
Gruß
schorsch
-
MakuBa
- Beiträge: 3
- Registriert: 11.04.2011 15:44:08
Beitrag
von MakuBa » 13.04.2011 11:27:53
Ja klar wer lesen kann ist klar im Vorteil
Danke jetzt funktioniert das au