macaroni-os / macaroni-os/mark-issues

[core-server-kit] app-emulation/qemu-11.0.0 fails to build due to missing dev-python/qemu-qmp dependency (pip blocked)

Open
#667 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
5
Forks
1
PR merge metrics
No merged PRs in 30d

Description

While emerging app-emulation/qemu-11.0.0, the build fails during configure due to mkvenv trying to install a Python dependency using pip.

Error:
```
../configure --prefix=/usr --sysconfdir=/etc --bindir=/usr/bin --libdir=/usr/lib64 --datadir=/usr/share --docdir=/usr/share/doc/qemu-11.0.0/html --mandir=/usr/share/man --localstatedir=/var --disable-bsd-user --disable-containers --disable-guest-agent --disable-strip --disable-tcg-interpreter --disable-werror --disable-gcrypt --python=/usr/bin/python3.10 --cc=aarch64-unknown-linux-gnu-gcc --cxx=aarch64-unknown-linux-gnu-g++ --host-cc=aarch64-unknown-linux-gnu-gcc --enable-alsa --disable-debug-info --disable-debug-tcg --disable-jack --enable-gettext --enable-oss --disable-plugins --enable-pa --enable-attr --disable-selinux --disable-brlapi --disable-linux-aio --disable-bpf --disable-bzip2 --disable-capstone --disable-curl --disable-docs --disable-fdt --disable-fuse --disable-glusterfs --disable-gnutls --disable-nettle --disable-gtk --disable-rdma --disable-libiscsi --disable-linux-io-uring --disable-vnc-jpeg --disable-kvm --disable-lzo --disable-mpath --disable-curses --disable-libnfs --disable-numa --disable-opengl --disable-auth-pam --disable-png --disable-rbd --disable-vnc-sasl --disable-sdl --disable-sdl-image --disable-seccomp --disable-slirp --disable-smartcard --disable-snappy --disable-spice --disable-libssh --disable-libudev --disable-libusb --disable-usb-redir --disable-vde --disable-vhost-net --disable-virglrenderer --disable-virtfs --disable-vnc --disable-vte --disable-xen --disable-xen-pci-passthrough --disable-xkbcommon --disable-zstd --enable-linux-user --disable-system --disable-tools --disable-cap-ng --target-list=aarch64-linux-user,arm-linux-user,ppc-linux-user,ppc64-linux-user,riscv64-linux-user --static --disable-pie
python determined to be '/usr/bin/python3.10'
python version: Python 3.10.17
mkvenv: Creating non-isolated virtual environment at 'pyvenv'
mkvenv: checking for meson>=1.5.0
mkvenv: checking for qemu.qmp>=0.0.5
mkvenv: checking for setuptools>=44.1.1
mkvenv: checking for wheel>=0.34.2
mkvenv: checking for pip>=20.3.4
mkvenv: installing qemu.qmp==0.0.5
ERROR: (Gentoo) Please run pip with the --user option to avoid breaking python-exec

*** Ouch! ***

Could not provide build dependency 'qemu.qmp==0.0.5':
• Python package 'qemu.qmp' was not found nor installed.
• No suitable version found in, or failed to install from '/var/tmp/portage/app-emulation/qemu-11.0.0/work/qemu-11.0.0/python/wheels'.
• A suitable version could not be obtained from PyPI.
```

QEMU 11.0.0 now requires the Python module `qemu.qmp>=0.0.5`, and its build system attempts to install it via pip inside mkvenv.py. This fails on MacaroniOS due to python-exec restrictions.

To successfully build QEMU 11.0.0, it is necessary to provide this dependency via an ebuild instead of pip.

Solution:
Create an ebuild for:
dev-python/qemu-qmp-0.0.6

Source:
https://pypi.org/project/qemu.qmp/0.0.6/#files

Suggested fix:
- Add dev-python/qemu-qmp as a dependency for qemu-11.0.0

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the app-emulation/qemu-11.0.0 ebuild and the configure output showing mkvenv.py checks for qemu.qmp. Create the dev-python/qemu-qmp-0.0.6 ebuild from the linked PyPI source, add it as a dependency for qemu-11.0.0, and verify that the build no longer tries to obtain qemu.qmp through pip.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.