kanotix.com
Anwendungen - kqemu: make scheitert
severin - 21.10.2006, 14:01 Uhr
Titel: kqemu: make scheitert
Hi!
Wollte mir nach dem wiki kqemu installieren (W98 reicht mir, und ich wollte das proprietaere vmware gerne umgehen).
wiki hat folgendes geschrieben::
Um den Vorteil von KQemu nutzen zu können, müssen wir uns QEMU selbst kompilieren (...) Dann root werden und Gnu C Compiler in der Version 3.3 installieren, da qemu 0.8.0 diesen benötigt (...) Qemu und KQemu in /tmp auspacken:
$ cd /tmp
$ tar zxvf /home/madblueimp/qemu-0.8.0.tar.gz
$ cd qemu-0.8.0
$ tar zxvf /home/madblueimp/kqemu-0.7.2.tar.gz
gcc 3.3 beim konfigurieren angeben:
$ ./configure --cc=gcc-3.3 --host-cc=gcc-3.3
Da der Kernel mit gcc 4.0 übersetzt wurde, muss auch KQEMU mit gcc 4.x übersetzt werden.
Dazu:
$ cd kqemu
$ make clean
$ make
Zurück ins Qemu Verzeichnis, root werden und Qemu nach /usr/local installieren:
Das letzte make liefert bei mir folgendes:
Code:
root@Godot:/tmp/qemu-0.8.0/kqemu# make
make -C /lib/modules/2.6.18-kanotix-2/build M=`pwd` modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.18-kanotix-2'
CC [M] /tmp/qemu-0.8.0/kqemu/kqemu-linux.o
/tmp/qemu-0.8.0/kqemu/kqemu-linux.c:51: error: expected ‘)’ before string constant
/tmp/qemu-0.8.0/kqemu/kqemu-linux.c:55: error: expected ‘)’ before string constant
make[2]: *** [/tmp/qemu-0.8.0/kqemu/kqemu-linux.o] Fehler 1
make[1]: *** [_module_/tmp/qemu-0.8.0/kqemu] Fehler 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-kanotix-2'
make: *** [kqemu.ko] Fehler 2
Diesen Fehler hatten schon andere Leute, als sie sich das aktuelle kqemu 1.3.0 kompilieren wollte - dieses lief bei mir lustigerweise problemlos durch (nur laeuft qemu demit langsamer als ohne
)
Hat jemand ne Idee?
Gruß,
Severin
severin - 21.10.2006, 14:07 Uhr
Titel:
OK, hier scheint ein patch fuer die bemaengelte Datei zu sein:
Code:
--- kqemu-linux.c.orig 2006-06-06 10:06:03.000000000 -0400
+++ kqemu-linux.c 2006-06-06 10:09:41.000000000 -0400
@@ -49,7 +49,11 @@
/* if 0 is used, then devfs/udev is used to automatically create the
device */
int major = 250;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
MODULE_PARM(major,"i");
+#else
+module_param(major, int, 0);
+#endif
/* Lock the page at virtual address 'user_addr' and return its
physical address (page index). Return a host OS private user page
Kann mir jemand sagen, wie man
1. einen Patch liest? Dann kann ich mir vielleicht vorstellen, ob der mein Problem flickt...
2. einen Patch anwendet?
xweber - 21.10.2006, 14:46 Uhr
Titel:
zeilen mit einem + werden eingefügt
zeilem mit einem - werden gelöscht
+++ kqemu-linux.c
ist der dateiname, auf das sich das folgende bezieht
@@ -49,7 +49,11 @@
Zeilennummer um die der folgende Textausschnitt erwartet wird.
Alex
Hack-o-Master - 21.10.2006, 19:59 Uhr
Titel:
Zu 2.
Den oben genannten Patch dort speichern wo sich die Datei kqemu-linux.c befindet (z.b. als kqemu-linux.c.diff)
Den Patch anwenden mittels patch <kqemu-linux.c.diff *
(siehe auch man patch)
Schauen ob der Patch angewendet werden konnte (keine kqemu-linux.c.rej für rejected Patch erstellt wurde)
Nächsten Compilierungsversuch starten...
*) evtl. vorher das Paket installieren, wenn nicht schon drauf: apt-get update && apt-get install patch
mfg. Hack-o-Master
Kano - 21.10.2006, 21:15 Uhr
Titel:
Es gibt doch längst eine neuere kqemu version, warum nimmst die nicht einfach?
severin - 22.10.2006, 09:58 Uhr
Titel:
weil zumindest W98 damit langsamer laeuft als ohne
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007