New comment by ackalker on void-packages repository https://github.com/void-linux/void-packages/issues/27965#issuecomment-766370106 Comment: I believe that the following 2 commits to be relevant to the current issue: qemu/qemu@6aae2a2e0e3c43e479f889389074cda8bef3a580, qemu/qemu@ab4c0996f80d43d1fc28c6e76f4ecb27423a7e29. In particular, the commit message of the 2nd commit seems relevant: > When cross-compiling, by default qemu_datadir is 'c:\Program Files\QEMU', which is not recognized as being an absolute path, and meson will end up adding the prefix again. From the [documentation for `configure_file()`](https://mesonbuild.com/Reference-manual.html#configure_file), the problem becomes obvious: - `configuration` describes the substitutions to be made in the input file. In this case `@DATADIR@` needs to be substituted with an _absolute_ path to a firmware blob - `install_dir` is the installation directory for the generated file, it needs to be a path _relative_ to `prefix` Trying to use variations using the same variable `qemu_datadir` for both, we end up with a Catch-22: when its value is an absolute Windows path, then Meson may not recognize it as such when cross-compiling, and may try to add a redundant `prefix` to it, and when its value is a relative path, the resulting firmware descriptor files don't work.