blob: e70225fa63a4485b99b6ce748de568c26a455328 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
"make-check avocado" doesn't work in ubuntu 1804 because of older versions of pip and setuputils
Description of problem:
make check-avocado tests don't run in Ubuntu 18.04, I get an error:
`Command "python setup.py egg_info" failed with error code 1 in /qemu/python/`
It looks like pip and setuputils are too old in 18.04 (which is still an active lts version supposedly).
Steps to reproduce:
Compile qemu in Ubuntu 18.04. This is an ad-hoc example with docker but I reproduced it in Ubuntu 18.04 VM too
1. Create docker from Dockerfile [Dockerfile](/uploads/a5748cabca5319f467cbc0b803ed9104/Dockerfile):
<code>FROM ubuntu:18.04
RUN apt update
RUN apt-get install -y git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build git-email libaio-dev libbluetooth-dev libcapstone-dev libbrlapi-dev libbz2-dev libcap-ng-dev libcurl4-gnutls-dev libgtk-3-dev libibverbs-dev libjpeg8-dev libncurses5-dev libnuma-dev librbd-dev librdmacm-dev libsasl2-dev libsdl2-dev libseccomp-dev libsnappy-dev libssh-dev libvde-dev libvdeplug-dev libvte-2.91-dev libxen-dev liblzo2-dev valgrind xfslibs-dev python3-venv</code>
`docker build -t 1804qemuavocado .`
2. Run shell inside of docker:
`docker run -it 1804qemuavocado bash`
3. Clone QEMU:
`git clone --depth 1 https://github.com/qemu/qemu.git`
4. Build QEMU (targets and parameters should not matter much):
<code>cd qemu
mkdir build
cd build
../configure --target-list=x86_64-softmmu
ninja</code>
5. Attempt to run tests:
`make check-avocado`
6. Get an error:
<code>/usr/bin/python3 -B /qemu/meson/meson.py introspect --targets --tests --benchmarks | /usr/bin/python3 -B scripts/mtest2make.py > Makefile.mtest
GIT ui/keycodemapdb meson tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
GIT ui/keycodemapdb meson tests/fp/berkeley-testfloat-3 tests/fp/berkeley-softfloat-3 dtc
VENV /qemu/build/tests/venv
VENVPIP install -e /qemu/python/
Command "python setup.py egg_info" failed with error code 1 in /qemu/python/
/qemu/tests/Makefile.include:115: recipe for target '/qemu/build/tests/venv' failed
make: *** [/qemu/build/tests/venv] Error 1</code>
Additional information:
As far as I understand, upgrading pip in system won't help, because venv creates an environment with base pip version (9 in case of Ubuntu 18.04). I tried creating a small patch [patch.diff](/uploads/0ae4883106773f0ea940d27b74219732/patch.diff) for tests/Makefile.include, that upgrades pip and setuputils in venv to the latest version, and it seem to help, but I don't know if it's the right solution to always have the latest version. Probably some LTS version should be chosen, if such thing exists for pip.
|