Skip to contentSkip to conversation

qemu: Remove broken/unneeded PYTHONPATH

PATCH New Trent Piepho 2 participants 2 messages Dec 27, 2018 – Dec 28, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qemu: Remove broken/unneeded PYTHONPATH

Qemu uses the host-python when building, but the .mk file is pointing the host-python interpreter to the target python site-packages, which is both incorrect and also unneeded.

Qemu doesn't need any extra packages [1], so there's no need to provide this path. And indeed qemu builds fine when setting the path to a non-existent directory.

Since target qemu neither depends on nor selects target python, it's quite possible to build qemu without a target python, in which case the supplied PYTHONPATH is a non-existent directory.

But even if qemu did want a python package, pointing the host-python to the target site-packages will not work. The package could contain a compiled shared library for the target architecture that the host python can not load. This can be tested by adding "import numpy" to one of qemu's python scripts and observing target python-numpy failing to load when the script is run at build time.

[1] https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg01758.html
"Avoid third-party package dependencies - QEMU currently has none!"

---
 package/qemu/qemu.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
package/qemu/qemu.mk +1 -2
index a1bd7e5d6e..3f51e88e1c 100644
@@ -26,8 +26,7 @@ QEMU_OPTS =
 
 QEMU_VARS = \
 	LIBTOOL=$(HOST_DIR)/bin/libtool \
-	PYTHON=$(HOST_DIR)/bin/python2 \
-	PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+	PYTHON=$(HOST_DIR)/bin/python2
 
 # If we want to specify only a subset of targets, we must still enable all
 # of them, so that QEMU properly builds its list of default targets, from
Signature · 1 line
2.14.4
#1 lore raw

PATCH 1/1 qemu: Remove broken/unneeded PYTHONPATH

Hello,

Quoted 19 lines · Trent Piepho

Qemu uses the host-python when building, but the .mk file is pointing the host-python interpreter to the target python site-packages, which is both incorrect and also unneeded.

Qemu doesn't need any extra packages [1], so there's no need to provide this path. And indeed qemu builds fine when setting the path to a non-existent directory.

Since target qemu neither depends on nor selects target python, it's quite possible to build qemu without a target python, in which case the supplied PYTHONPATH is a non-existent directory.

But even if qemu did want a python package, pointing the host-python to the target site-packages will not work. The package could contain a compiled shared library for the target architecture that the host python can not load. This can be tested by adding "import numpy" to one of qemu's python scripts and observing target python-numpy failing to load when the script is run at build time.

Quoted 7 lines

[1] https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg01758.html
"Avoid third-party package dependencies - QEMU currently has none!"

---
 package/qemu/qemu.mk | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com