ispras / qdt

QEMU Development Toolkit
Other
37 stars 8 forks source link

qemu_device_creator.py fails with qemu v4.0.0 #19

Closed Chert-Nik closed 4 years ago

Chert-Nik commented 4 years ago

qemu_device_creator.py fails with qemu v4.0.0

$> qdt/qemu_device_creator.py -b ./build basic-device.py 
Qemu version is 4.0.0
Loading QVC from ./build/qvc_131b9a05705636086699df15d4a6d328bb2585e8.py
Build QEMU Git graph ...
QEMU Git graph was built
Propagation params in graph of commit's description ...
Params in graph of commit's description were propagated
QVD loading failed
Traceback (most recent call last):
  File "qdt/qemu_device_creator.py", line 100, in main
    qvd = qvd_load_with_cache(qemu_build_path, version = version)
  File "/home/chert/tools/qemu/qdt/qemu/version_description.py", line 167, in qvd_load_with_cache
    qvd.init_cache()
  File "/home/chert/tools/qemu/qdt/qemu/version_description.py", line 564, in init_cache
    callco(self.co_init_cache())
  File "/home/chert/tools/qemu/qdt/common/co_dispatcher.py", line 480, in callco
    raise CoStackFailure(shadow_tb)
CoStackFailure: Coroutine stack failure happened:
Traceback (most recent call last):
  File "/home/chert/tools/qemu/qdt/common/co_dispatcher.py", line 440, in callco
    ret = next(co)
  File "/home/chert/tools/qemu/qdt/qemu/version_description.py", line 669, in co_init_cache
    new_targets = self.softmmu_targets - dt.arches
AttributeError: 'list' object has no attribute 'arches'

Qemu commit: 131b9a05705636086699df15d4a6d328bb2585e8 QDT commit: 1557a7e15f71193a8e72502bd0e6b16a094a0dd5 File basic-device.py :

uart_desc = SysBusDeviceDescription(
    # name =
    "UART_try4",
    # directory =
    "char"
)
p = QProject([uart_desc])
BDanAnd commented 4 years ago

Save your current cache file to another place (or simply rename) and try to rebuild it.

laerreal commented 4 years ago

Format of qvc_131b9a05705636086699df15d4a6d328bb2585e8.py is likely obsolete. Old versions of QVC format have no a version matching mechanism.

Chert-Nik commented 4 years ago

The cause of the problem was the current python setup on my machine.