Skip to contentSkip to conversation

qemu-kvm-0.14.0

ANNOUNCE Applied Avi Kivity 5 participants 10 messages Feb 22, 2011 – Apr 29, 2011

Subsystems (2)
lore
Share & tools
lore

Avi Kivity

author
#0 lore raw

qemu-kvm-0.14.0 is now available. This release is based on the upstream qemu 0.14.0, plus kvm-specific enhancements. Please see the original qemu 0.14.0 release announcement for details.

This release can be used with the kvm kernel modules provided by your distribution kernel, or by the modules in the kvm-kmod package, such as kvm-kmod-2.6.37.

http://www.linux-kvm.org

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#1 lore raw

Hello Avi,
when trying to compile(link) various targets, I get:
LINK sparc-softmmu/qemu-system-sparc
pci-stub.o: In function `do_pci_info_print':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:36: multiple definition of do_pci_info_print' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1398: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info_print' changed from 147 in pci.o to 50 in pci-stub.o pci-stub.o: In function `do_pci_info':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:31: multiple definition of do_pci_info' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1560: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info' changed from 150 in pci.o to 50 in pci-stub.o pci.o: In function `pci_update_mappings':
pci.c:(.text+0xa91): undefined reference to pci_bridge_get_base' pci.c:(.text+0xaa5): undefined reference to pci_bridge_get_limit' pci.c:(.text+0xb7b): undefined reference to pci_bridge_get_base' pci.c:(.text+0xb8e): undefined reference to pci_bridge_get_limit'
pci.o: In function `pci_get_devices_list':
pci.c:(.text+0x2024): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2036): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2043): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2050): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2060): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2070): undefined reference to pci_bridge_get_base'
collect2: ld returned 1 exit status
make[1]: *** [qemu-system-sparc] Error 1
make: *** [subdir-sparc-softmmu] Error 2

I'm compiling on x86_64 centos5.
Any idea on what I might be doing wrong or how can it be fixed? thanks a lot in advance!
BR
nik

Quoted 20 lines · Avi Kivity

qemu-kvm-0.14.0 is now available. This release is based on the upstream qemu 0.14.0, plus kvm-specific enhancements. Please see the original qemu 0.14.0 release announcement for details.

This release can be used with the kvm kernel modules provided by your distribution kernel, or by the modules in the kvm-kmod package, such as kvm-kmod-2.6.37.

http://www.linux-kvm.org

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 13 lines
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799
www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: [email protected]
-------------------------------------
#2 lore raw
Quoted 1 line · Nikola Ciprich

Hello Avi,

Hi,

Quoted 17 lines

when trying to compile(link) various targets, I get:
LINK sparc-softmmu/qemu-system-sparc
pci-stub.o: In function `do_pci_info_print':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:36: multiple definition of do_pci_info_print' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1398: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info_print' changed from 147 in pci.o to 50 in pci-stub.o pci-stub.o: In function `do_pci_info':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:31: multiple definition of do_pci_info' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1560: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info' changed from 150 in pci.o to 50 in pci-stub.o pci.o: In function `pci_update_mappings':
pci.c:(.text+0xa91): undefined reference to pci_bridge_get_base' pci.c:(.text+0xaa5): undefined reference to pci_bridge_get_limit' pci.c:(.text+0xb7b): undefined reference to pci_bridge_get_base' pci.c:(.text+0xb8e): undefined reference to pci_bridge_get_limit'
pci.o: In function `pci_get_devices_list':
pci.c:(.text+0x2024): undefined reference to `pci_bridge_get_limit'

Quoted 8 lines

pci.c:(.text+0x2036): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2043): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2050): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2060): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2070): undefined reference to `pci_bridge_get_base'
collect2: ld returned 1 exit status
make[1]: *** [qemu-system-sparc] Error 1
make: *** [subdir-sparc-softmmu] Error 2

I hit this problem too and after a long night I tracked it back to some odd merge, this patch solved the issue for me.

2010-11-10 Francisco Blas Izquierdo Riera <[email protected]>
Somehow pci.o was added so it was needed on all targets breaking NO_PCI ones. This patch intends to fix that

* Makefile.objs: Add pci.o back into hw-obj-$(CONFIG_PCI)
* Makefile.target: Remove pci.o

tmp/aaa/qemu-kvm-0.14.0/Makefile.objs renamed from tmp/aaa/qemu-kvm-0.14.0.old/Makefile.objs +1 -1
diff -ru /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.objs /tmp/aaa/qemu-kvm-0.14.0/Makefile.objs
@@ -170,7 +170,7 @@
 hw-obj-y += loader.o
 hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
 hw-obj-y += fw_cfg.o
-hw-obj-$(CONFIG_PCI) += pci_bridge.o
+hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 hw-obj-$(CONFIG_PCI) += msix.o msi.o
 hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
 hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
tmp/aaa/qemu-kvm-0.14.0/Makefile.target renamed from tmp/aaa/qemu-kvm-0.14.0.old/Makefile.target +1 -1
diff -ru /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.target /tmp/aaa/qemu-kvm-0.14.0/Makefile.target
@@ -195,7 +195,7 @@
 # System emulator target
 ifdef CONFIG_SOFTMMU
 
-obj-y = arch_init.o cpus.o monitor.o pci.o machine.o gdbstub.o vl.o balloon.o
+obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o vl.o balloon.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
 obj-$(CONFIG_NO_PCI) += pci-stub.o
#3 lore raw
Quoted 25 lines · klondike

I hit this problem too and after a long night I tracked it back to some odd merge, this patch solved the issue for me.

2010-11-10 Francisco Blas Izquierdo Riera <[email protected]>
Somehow pci.o was added so it was needed on all targets breaking NO_PCI ones. This patch intends to fix that

* Makefile.objs: Add pci.o back into hw-obj-$(CONFIG_PCI)
* Makefile.target: Remove pci.o

diff -ru /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.objs /tmp/aaa/qemu-kvm-0.14.0/Makefile.objs

tmp/aaa/qemu-kvm-0.14.0/Makefile.objs renamed from tmp/aaa/qemu-kvm-0.14.0.old/Makefile.objs +1 -1
@@ -170,7 +170,7 @@
 hw-obj-y += loader.o
 hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
 hw-obj-y += fw_cfg.o
-hw-obj-$(CONFIG_PCI) += pci_bridge.o
+hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 hw-obj-$(CONFIG_PCI) += msix.o msi.o
 hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
 hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o

diff -ru /tmp/aaa/qemu-kvm-0.14.0.old/Makefile.target /tmp/aaa/qemu-kvm-0.14.0/Makefile.target

tmp/aaa/qemu-kvm-0.14.0/Makefile.target line 201

Quoted 8 lines
tmp/aaa/qemu-kvm-0.14.0/Makefile.target renamed from tmp/aaa/qemu-kvm-0.14.0.old/Makefile.target +1 -1
@@ -195,7 +195,7 @@
 # System emulator target
 ifdef CONFIG_SOFTMMU
 
-obj-y = arch_init.o cpus.o monitor.o pci.o machine.o gdbstub.o vl.o balloon.o
+obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o vl.o balloon.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
 obj-$(CONFIG_NO_PCI) += pci-stub.o

Hello,
yup, I've noticed Your patch just after sending my report.. thansk a lot, I'll try it right away!
have a nice day
nik

Signature · 13 lines
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799
www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: [email protected]
-------------------------------------
#4 lore raw

well, now it seems I've got another problem here:

In file included from /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:32:
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:11:17: error: cpu.h: No such file or directory /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:630:21: error: attempt to use poisoned "CPUState" In file included from /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:32:
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:630: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:630:31: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:631:21: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:631: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:631:31: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:632:21: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:632: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:632:31: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:639:14: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:639: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:639:24: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:640:63: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:640: error: expected declaration specifiers or '...' before 'CPUState' /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:640:73: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:641:28: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:641: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:641:38: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:642:27: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:642: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:642:37: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:643:28: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:643: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:643:38: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:644:35: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:644: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:644:45: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:660:25: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:660: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:660:35: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:661:25: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:661: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:661:35: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:662:23: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:662: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:662:33: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:663:38: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:663: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:663:48: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:666:25: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:666: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:666:35: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673:28: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673:38: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:690:37: error: attempt to use poisoned "TARGET_PAGE_BITS" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:720:8: error: attempt to use poisoned "TARGET_I386" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:723:27: error: attempt to use poisoned "env" make[1]: *** [pci.o] Error 1
make[1]: Leaving directory `/home/src/redhat/BUILD/qemu-kvm-0.14.0/libhw64'
make: *** [subdir-libhw64] Error 2

what could this be?

Quoted 22 lines
Signature · 18 lines
-- 
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799
www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: [email protected]
-------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Signature · 13 lines
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 01 Ostrava

tel.:   +420 596 603 142
fax:    +420 596 621 273
mobil:  +420 777 093 799
www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: [email protected]
-------------------------------------
#5 lore raw
Quoted 57 lines · Nikola Ciprich

well, now it seems I've got another problem here:

In file included from /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:32:
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:11:17: error: cpu.h: No such file or directory /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:630:21: error: attempt to use poisoned "CPUState" In file included from /usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:32:
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:630: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:630:31: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:631:21: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:631: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:631:31: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:632:21: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:632: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:632:31: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:639:14: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:639: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:639:24: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:640:63: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:640: error: expected declaration specifiers or '...' before 'CPUState' /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:640:73: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:641:28: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:641: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:641:38: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:642:27: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:642: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:642:37: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:643:28: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:643: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:643:38: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:644:35: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:644: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:644:45: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:660:25: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:660: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:660:35: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:661:25: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:661: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:661:35: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:662:23: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:662: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:662:33: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:663:38: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:663: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:663:48: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:666:25: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:666: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:666:35: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673:28: error: attempt to use poisoned "CPUState" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673: error: expected ')' before '*' token /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673:38: error: attempt to use poisoned "env" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:690:37: error: attempt to use poisoned "TARGET_PAGE_BITS" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:720:8: error: attempt to use poisoned "TARGET_I386" /usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:723:27: error: attempt to use poisoned "env" make[1]: *** [pci.o] Error 1
make[1]: Leaving directory `/home/src/redhat/BUILD/qemu-kvm-0.14.0/libhw64'
make: *** [subdir-libhw64] Error 2

Quoted 1 line

what could this be?

Try Jan's patch, it seems to solve this issue too ;-)

#6 lore raw
Quoted 1 line · klondike <franxisco1988 <at> gmail.com> writes:
Quoted 1 line

/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:673:38: error: attempt to

use poisoned "env"

Quoted 1 line
Quoted 1 line

/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:690:37: error: attempt to

use poisoned "TARGET_PAGE_BITS"

Quoted 1 line
Quoted 1 line

/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:720:8: error: attempt to

use poisoned "TARGET_I386"

Quoted 1 line
Quoted 1 line

/usr/src/redhat/BUILD/qemu-kvm-0.14.0/qemu-kvm.h:723:27: error: attempt to

use poisoned "env"

Quoted 8 lines
Quoted 5 lines

make[1]: *** [pci.o] Error 1
make[1]: Leaving directory `/home/src/redhat/BUILD/qemu-kvm-0.14.0/libhw64'
make: *** [subdir-libhw64] Error 2

what could this be?

Try Jan's patch, it seems to solve this issue too

Which patch you are talking about?

#7 lore raw

PATCH 1/1 qemu-kvm: Fix non-PCI target build

In reply to klondike
Quoted 28 lines · klondike
Quoted 1 line · Nikola Ciprich

Hello Avi,

Hi,

Quoted 17 lines

when trying to compile(link) various targets, I get:
LINK sparc-softmmu/qemu-system-sparc
pci-stub.o: In function `do_pci_info_print':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:36: multiple definition of do_pci_info_print' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1398: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info_print' changed from 147 in pci.o to 50 in pci-stub.o pci-stub.o: In function `do_pci_info':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:31: multiple definition of do_pci_info' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1560: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info' changed from 150 in pci.o to 50 in pci-stub.o pci.o: In function `pci_update_mappings':
pci.c:(.text+0xa91): undefined reference to pci_bridge_get_base' pci.c:(.text+0xaa5): undefined reference to pci_bridge_get_limit' pci.c:(.text+0xb7b): undefined reference to pci_bridge_get_base' pci.c:(.text+0xb8e): undefined reference to pci_bridge_get_limit'
pci.o: In function `pci_get_devices_list':
pci.c:(.text+0x2024): undefined reference to `pci_bridge_get_limit'

Quoted 8 lines

pci.c:(.text+0x2036): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2043): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2050): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2060): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2070): undefined reference to `pci_bridge_get_base'
collect2: ld returned 1 exit status
make[1]: *** [qemu-system-sparc] Error 1
make: *** [subdir-sparc-softmmu] Error 2

Quoted 2 lines

I hit this problem too and after a long night I tracked it back to some odd merge, this patch solved the issue for me.

This unfortunately breaks the build with device assignment enabled. Patch below is required.

Generally, I would recommend to avoid using the qemu-kvm tree for anything else than x86 with kvm support. Other use cases ought to work but are rarely tested. Better pick upstream qemu in this case until we reduced the diffs between both trees to a much smaller amount. qemu-kvm-0.15 may become a milestone in this regard.

Jan

----------8<----------

Replace obsolete qemu-kvm.h with kvm.h in pci.c and build that module just like upstream does. This fixes non-x86 targets which have no PCI support.

---
 Makefile.objs   |    2 +-
 Makefile.target |    2 +-
 hw/pci.c        |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Makefile.objs +1 -1
index f5702eb..3ec7121 100644
@@ -170,7 +170,7 @@ hw-obj-y =
 hw-obj-y += loader.o
 hw-obj-$(CONFIG_VIRTIO) += virtio.o virtio-console.o
 hw-obj-y += fw_cfg.o
-hw-obj-$(CONFIG_PCI) += pci_bridge.o
+hw-obj-$(CONFIG_PCI) += pci.o pci_bridge.o
 hw-obj-$(CONFIG_PCI) += msix.o msi.o
 hw-obj-$(CONFIG_PCI) += pci_host.o pcie_host.o
 hw-obj-$(CONFIG_PCI) += ioh3420.o xio3130_upstream.o xio3130_downstream.o
Makefile.target +1 -1
index 6e9a024..23367eb 100644
@@ -195,7 +195,7 @@ endif #CONFIG_BSD_USER
 # System emulator target
 ifdef CONFIG_SOFTMMU
 
-obj-y = arch_init.o cpus.o monitor.o pci.o machine.o gdbstub.o vl.o balloon.o
+obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o vl.o balloon.o
 # virtio has to be here due to weird dependency between PCI and virtio-net.
 # need to fix this properly
 obj-$(CONFIG_NO_PCI) += pci-stub.o
hw/pci.c +1 -1
index 0c44939..1f6cebe 100644
@@ -29,8 +29,8 @@
 #include "net.h"
 #include "sysemu.h"
 #include "loader.h"
-#include "qemu-kvm.h"
 #include "hw/pc.h"
+#include "kvm.h"
 #include "device-assignment.h"
 #include "qemu-objects.h"
 #include "range.h"
Signature · 1 line
1.7.1
#8 lore raw

Re: [PATCH] qemu-kvm: Fix non-PCI target build

Quoted 34 lines · Jan Kiszka
Quoted 28 lines · klondike
Quoted 1 line · Nikola Ciprich

Hello Avi,

Hi,

Quoted 17 lines

when trying to compile(link) various targets, I get:
LINK sparc-softmmu/qemu-system-sparc
pci-stub.o: In function `do_pci_info_print':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:36: multiple definition of do_pci_info_print' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1398: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info_print' changed from 147 in pci.o to 50 in pci-stub.o pci-stub.o: In function `do_pci_info':
/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci-stub.c:31: multiple definition of do_pci_info' pci.o:/usr/src/redhat/BUILD/qemu-kvm-0.14.0/hw/pci.c:1560: first defined here /usr/bin/ld: Warning: size of symbol do_pci_info' changed from 150 in pci.o to 50 in pci-stub.o pci.o: In function `pci_update_mappings':
pci.c:(.text+0xa91): undefined reference to pci_bridge_get_base' pci.c:(.text+0xaa5): undefined reference to pci_bridge_get_limit' pci.c:(.text+0xb7b): undefined reference to pci_bridge_get_base' pci.c:(.text+0xb8e): undefined reference to pci_bridge_get_limit'
pci.o: In function `pci_get_devices_list':
pci.c:(.text+0x2024): undefined reference to `pci_bridge_get_limit'

Quoted 8 lines

pci.c:(.text+0x2036): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2043): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2050): undefined reference to pci_bridge_get_base' pci.c:(.text+0x2060): undefined reference to pci_bridge_get_limit' pci.c:(.text+0x2070): undefined reference to `pci_bridge_get_base'
collect2: ld returned 1 exit status
make[1]: *** [qemu-system-sparc] Error 1
make: *** [subdir-sparc-softmmu] Error 2

Quoted 2 lines

I hit this problem too and after a long night I tracked it back to some odd merge, this patch solved the issue for me.

This unfortunately breaks the build with device assignment enabled. Patch below is required.

Quoted 7 lines

Generally, I would recommend to avoid using the qemu-kvm tree for anything else than x86 with kvm support. Other use cases ought to work but are rarely tested. Better pick upstream qemu in this case until we reduced the diffs between both trees to a much smaller amount. qemu-kvm-0.15 may become a milestone in this regard.

Jan

Thanks Jan,

Gentoo users have little to no choice until as the qemu and qemu-kvm ebuilds block each other (so it is impossible to install both at the same time).

I'll send this patch to the bump request in the gentoo bugzilla if you agree :D

klondike

author Applied
#9 lore raw

Re: [PATCH] qemu-kvm: Fix non-PCI target build

In reply to Jan Kiszka
Quoted 3 lines · Jan Kiszka

Replace obsolete qemu-kvm.h with kvm.h in pci.c and build that module just like upstream does. This fixes non-x86 targets which have no PCI support.

Thanks, applied to mainline and stable-0.14.

Signature · 1 line
error compiling committee.c: too many arguments to function