Skip to content

make check-venv fails with errors about incompatible avocado

Host environment

  • Operating system: Fedora 38 x86_64
  • Architecture: x86_64
  • QEMU version: 146f5151

Description of problem

$ rm -rf build/
$ ./configure --target-list=x86_64-softmmu,i386-softmmu
$ make -j 16
$ ./scripts/device-crash-test -q --tcg-only ./qemu-system-i386
Module 'qemu' not found.
  Try 'make check-venv' from your build directory,
  and then one way to run this script is like so:
  > $builddir/pyvenv/bin/python3 "/home/berrange/src/virt/qemu/scripts/device-crash-test"
$ make check-venv
make[1]: Entering directory '/home/berrange/src/virt/qemu/build'
  GIT     ui/keycodemapdb tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
  VENVPIP install -e /home/berrange/src/virt/qemu/python/
  VENVPIP install -r /home/berrange/src/virt/qemu/tests/requirements.txt
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
avocado-framework-plugin-varianter-yaml-to-mux 98.0 requires avocado-framework==98.0, but you have avocado-framework 101.0 which is incompatible.
avocado-framework-plugin-result-html 98.0 requires avocado-framework==98.0, but you have avocado-framework 101.0 which is incompatible.
make[1]: Leaving directory '/home/berrange/src/virt/qemu/build'

Despite this, it seems to have at least partially populated the venv, since I can now run device-crash-test.

My host does have some avocado related python bits present:

python-avocado-common-98.0-1.module_f38+15908+ffe8d4e2.noarch
python3-avocado-98.0-1.module_f38+15908+ffe8d4e2.noarch
python3-avocado-plugins-output-html-98.0-1.module_f38+15908+ffe8d4e2.noarch
python3-avocado-plugins-varianter-yaml-to-mux-98.0-1.module_f38+15908+ffe8d4e2.noarch

I would expect the venv to not use these host packages however, since they're outdated compare to what QEMU askes for in tests/requirements.txt

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information