KVM - The Linux Kernel-Based Virtual Machine
News, Blogs and Resources on the Linux (KVM) Kernel-Based Virtual Machine

kvm-88 still has compiling error !!!

14 replies [Last post]
sw2wolf
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: Mar 18 2009
Points: 23

%uname -a
Linux myarch 2.6.32-ARCH #1 SMP PREEMPT Tue Jan 19 06:08:04 UTC 2010 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ AuthenticAMD GNU/Linux

After downloaded the latest kvm-89:

kvm-88@myarch%./configure --prefix=/usr/local --audio-drv-list="alsa oss" --enable-mixemu
kvm-88@myarch%make

vm-helper.c
CC x86_64-softmmu/disas.o
CC x86_64-softmmu/i386-dis.o
AR x86_64-softmmu/libqemu.a
LINK x86_64-softmmu/qemu-system-x86_64
make -C /lib/modules/2.6.32-ARCH/build M=`pwd` \
LINUXINCLUDE="-I`pwd`/include -Iinclude \
-Iarch/x86/include -I`pwd`/include-compat \
-include include/linux/autoconf.h \
-include `pwd`/x86/external-module-compat.h " \
"$@"
make[2]: *** no explicit target and cannot find makefile. stop.
make[1]: *** [all] error 2
make: *** [kvm-kmod] error 2

Sincerely!

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: kvm-88 still has compiling error !!!

Don't use the kvm branch...it's old and there has been no development of the kvm branch since July 2009 - All new bugfixes and features goes into the stable branch called "qemu-kvm", which is now at version 0.12.2.

There shouldn't be any reason that you would be interested in compiling or running kvm-88...

Best Regards
Kenni Lund

sw2wolf
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: Mar 18 2009
Points: 23
thank you very much!

thank you very much!
BTW, How can i use qemu-kvm ?

qemu-kvm-0.12.2@myarch%./configure --prefix=/usr/local --audio-drv-list="alsa oss" --enable-mixemu
qemu-kvm-0.12.2@myarch%make
There arenot any *.ko file !

Sincerely!

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: thank you very much!

qemu-kvm doesn't contain any modules, it's just the executable you use to launch guests.

In most cases you would not need to compile the drivers yourself (I don't even remember when I did that the last time), if you're using a newer kernel, the kvm drivers are already in the kernel and if they're not already enabled, you just need to enable them.

If you for some reason need to compile the kvm modules, you're looking for kvm-kmod...the current version is kvm-kmod 2.6.32.2. The versioning tells you that these modules are the same modules as those in the 2.6.32.2 kernel - so if you're running kernel 2.6.32.2, you already have the latest drivers. If you have something between 2.6.28 and 2.6.32, that should be fine as well, the changes in the modules are really minor - the important development happens in qemu-kvm.

Best regards
Kenni Lund

sw2wolf
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: Mar 18 2009
Points: 23
Then i downloaded

Then i downloaded kvm-kmod-2.6.32.3, but i cannot configure it

kvm-kmod-2.6.32.3@myarch%./configure
Error: kernel version not found.
Please make sure your kernel is configured.

FYI:
kvm-kmod-2.6.32.3@myarch%uname -a
Linux myarch 2.6.32-ARCH #1 SMP PREEMPT Sat Jan 23 13:53:44 UTC 2010 i686 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ AuthenticAMD GNU/Linux

Sincerely!

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: Then i downloaded

As I wrote in my last message, you already HAVE the KVM modules in the kernel, if you're running a newer kernel (which you are). When you already have the modules in the kernel, there's absolutely no reason for installing the same modules from kvm-kmod...

From your output I assume that this is a Arch Linux machine? Arch Linux has all the required modules enabled, you only need qemu-kvm and nothing else.

On my Arch Linux system I get the following:
[kenni@ION ~]$ zcat /proc/config.gz |grep KVM
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m

The last three lines are the same modules which you have downloaded in kvm-kmod. =m means that these are compiled as modules together with the kernel. So you should never compile these modules yourself.

If you have overwritten or deleted the kernel modules, just do a:
pacman -Sy kernel26

reboot your system and start up qemu-kvm...you don't need anything else :)

Best Regards
Kenni Lund

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: Then i downloaded

If I was right that you're using Arch Linux, please have a look at the Arch Linux wiki for the correct approach to install qemu-kvm in a clean way on Arch Linux:
http://wiki.archlinux.org/index.php/KVM

Best Regards
Kenni

sw2wolf
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: Mar 18 2009
Points: 23
thanks ! If so, it will be

thanks ! If so, it will be much convenient as i just need to pay attention to qemu-kvm.

Yes, I am using ArchLinux.

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: thanks ! If so, it will be

Pay attention to qemu-kvm? Do you still build qemu-kvm with configure and make? There's no reason for that, the latest version is already in Arch Linux:

[root@local ~]# pacman -Ss qemu-kvm
extra/qemu-kvm 0.12.2-1

Just install it with:
[root@local ~]# pacman -S qemu-kvm

and update your system once in a while with:
[root@local ~]# pacman -Syu

And your system will always have the latest KVM modules and latest qemu-kvm.

Best Regards
Kenni Lund

sw2wolf
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: Mar 18 2009
Points: 23
Yes! I should use pacman to

Yes! I should use pacman to install qemu-kvm instead of compiling by myself.

BTW, how can i uninstall the qemu-kvm compiled by myself

qemu-kvm-0.12.2@myarch%grep uninstall Makefile

There isnot uninstall target.Do i have to remove it manually?

thanks!

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: Yes! I should use pacman to

In that case you need to delete the qemu files yourself. Since you're going to do a clean install of qemu-kvm with pacman afterwards, you should just delete every single qemu file you're able to find on your hdd.

Did you use the --prefix=/usr/local argument to configure, like you wrote earlier? In that case you'll probably find the core qemu files in /usr/local/share/qemu and /usr/local/bin/*qemu*

To identify all the qemu-related files you should delete on your system, try the following:
[root@localhost ~]# updatedb
[root@localhost ~]# locate qemu | grep -v -e abs -e pacman
/etc/qemu-ifup
/usr/bin/qemu-img
/usr/bin/qemu-io
/usr/bin/qemu-kvm
/usr/bin/qemu-nbd
/usr/bin/qemu-system-x86_64
/usr/bin/vdeqemu
/usr/share/qemu
/usr/share/doc/qemu
/usr/share/doc/qemu/qemu-doc.html
/usr/share/doc/qemu/qemu-tech.html
/usr/share/man/man1/qemu-img.1.gz
/usr/share/man/man1/qemu-kvm.1.gz
/usr/share/man/man1/vdeqemu.1.gz
/usr/share/man/man8/qemu-nbd.8.gz
/usr/share/qemu/bamboo.dtb
/usr/share/qemu/bios.bin
/usr/share/qemu/extboot.bin
/usr/share/qemu/keymaps
/usr/share/qemu/linuxboot.bin
/usr/share/qemu/multiboot.bin
/usr/share/qemu/openbios-ppc
/usr/share/qemu/openbios-sparc32
/usr/share/qemu/openbios-sparc64
/usr/share/qemu/petalogix-s3adsp1800.dtb
/usr/share/qemu/ppc_rom.bin
/usr/share/qemu/pxe-e1000.bin
/usr/share/qemu/pxe-i82559er.bin
/usr/share/qemu/pxe-ne2k_pci.bin
/usr/share/qemu/pxe-pcnet.bin
/usr/share/qemu/pxe-rtl8139.bin
/usr/share/qemu/pxe-virtio.bin
/usr/share/qemu/vapic.bin
/usr/share/qemu/vgabios-cirrus.bin
/usr/share/qemu/vgabios.bin
/usr/share/qemu/video.x
/usr/share/qemu/keymaps/ar
/usr/share/qemu/keymaps/common
/usr/share/qemu/keymaps/da
/usr/share/qemu/keymaps/de
/usr/share/qemu/keymaps/de-ch
/usr/share/qemu/keymaps/en-gb
/usr/share/qemu/keymaps/en-us
/usr/share/qemu/keymaps/es
/usr/share/qemu/keymaps/et
/usr/share/qemu/keymaps/fi
/usr/share/qemu/keymaps/fo
/usr/share/qemu/keymaps/fr
/usr/share/qemu/keymaps/fr-be
/usr/share/qemu/keymaps/fr-ca
/usr/share/qemu/keymaps/fr-ch
/usr/share/qemu/keymaps/hr
/usr/share/qemu/keymaps/hu
/usr/share/qemu/keymaps/is
/usr/share/qemu/keymaps/it
/usr/share/qemu/keymaps/ja
/usr/share/qemu/keymaps/lt
/usr/share/qemu/keymaps/lv
/usr/share/qemu/keymaps/mk
/usr/share/qemu/keymaps/modifiers
/usr/share/qemu/keymaps/nl
/usr/share/qemu/keymaps/nl-be
/usr/share/qemu/keymaps/no
/usr/share/qemu/keymaps/pl
/usr/share/qemu/keymaps/pt
/usr/share/qemu/keymaps/pt-br
/usr/share/qemu/keymaps/ru

So in my case, I would have to delete /usr/bin/*qemu* and /usr/share/qemu (I don't care about deleting the documentation, but feel free to delete it as well):

[root@localhost ~]# rm -rf /usr/bin/*qemu* /usr/share/qemu

(now run the updatedb and locate commands again, to make sure you've deleted everything)

Once you have deleted all the files, just do a clean installation of qemu-kvm with pacman:
[root@localhost ~]# pacman -Sy qemu-kvm

Best Regards
Kenni Lund

Haydn Solomon
User offline. Last seen 4 hours 51 min ago. Offline
Joined: Mar 7 2008
Points: 204
Re: Yes! I should use pacman to

Have you tried a make clean?

Kenni Lund
User offline. Last seen 1 week 2 days ago. Offline
Joined: Nov 25 2008
Points: 58
Re: Yes! I should use pacman to

Haydn, make clean would only cleanup files within the building directory, to avoid problems with a new build. But of course, if sw2wolf never ran "make install" it would be sufficent to just delete the building directory (or to run make clean/distclean).

Haydn Solomon
User offline. Last seen 4 hours 51 min ago. Offline
Joined: Mar 7 2008
Points: 204
Re: Yes! I should use pacman to

Kenni,

You're right. I don't know what made me suggest make clean. I was thinking about 'make uninstall' but after re-reading the whole thread I see that he already looked for it.

sw2wolf
User offline. Last seen 5 weeks 5 days ago. Offline
Joined: Mar 18 2009
Points: 23
Of course, i have run "make

Of course, i have run "make install" before. Now i want to use pacman to reinstall qemu-kvm. So i want to de-install qemu first.

If there is no `make uninstall`, i have to delete it manually as Kenni Lund suggested.

thanks!

Post new comment

The content of this field is kept private and will not be shown publicly.