On 22/01/2026 11.15, Prasad Pandit wrote:
On Thu, 22 Jan 2026 at 15:01, Thomas Huth <[email protected]> wrote:
The haiku VM bitrotted in the course of time. Make sure to use the
latest version of the repositories here and install missing pieces
like "pip" and "tomli" now.

We also have to add a little "hack" to our configure script: For some
weird reasons, the meson binary shows up as pyvenv/non-packaged/bin/meson
here, and not in the expected location pyvenv/bin/meson. Use a symlink
to fix it.

    -> 
https://github.com/haiku/haiku/blob/master/docs/user/storage/storageintro.dox

* Packages not available in the HPKG format are installed under the
"/non-packaged/" directory, it seems.

Ah, great, that could be the reason, indeed! Thanks for the pointer, I somehow did not manage to to find this though tried to search the internet for "non-packaged" ...

I'll add that information to v2 of the patch.

For this new version, we also have to compile with "-pie", otherwise
the linker complains about bad relocations in the object files, so
allow compiling with PIE in the configure script now.

Signed-off-by: Thomas Huth <[email protected]>
---
  configure             | 8 +++++++-
  tests/vm/haiku.x86_64 | 4 ++++
  2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 9d7fd13a98b..587cd2a2fe6 100755
--- a/configure
+++ b/configure
@@ -967,6 +967,12 @@ mkvenv="$python ${source_path}/python/scripts/mkvenv.py"
  $mkvenv ensuregroup --dir "${source_path}/python/wheels" \
       ${source_path}/pythondeps.toml meson || exit 1

+# For some unknown reason, the meson binary shows up in the wrong
+# folder on Haiku. Use a symlink to fix it.
+if test "$host_os" = "haiku" && test ! -e pyvenv/bin/meson ; then
+    ln -s "$PWD"/pyvenv/non-packaged/bin/meson pyvenv/bin/meson
+fi
+
...
* Instead of creating a symlink for meson, could we add
'/non-packaged/' directory to an appropriate PATH variable, so that
all such binaries are accessible from 'non-packaged/bin/' directory?
That way we avoid creating symlinks for many /non-packaged/ binaries.

The problem is that our "configure" script explicitly expects the meson binary in this location and does *not* use the meson from $PATH. We also have hard-coded this in a couple of other spots (see "grep -r bin/meson *") ... so I think using a symlink is still the easiest solution?

* Otherwise change looks okay.
Reviewed-by: Prasad Pandit <[email protected]>

Thanks!

  Thomas


Reply via email to