Open Bug 1887037 Opened 2 years ago Updated 2 years ago

mozregression seems to assume maturin is installed and in $PATH when uniffi-bindgen is installed even though that isn't necessarily the case

Categories

(Testing :: mozregression, defect)

defect

Tracking

(Not tracked)

UNCONFIRMED

People

(Reporter: el, Unassigned, NeedInfo)

Details

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:125.0) Gecko/20100101 Firefox/125.0

Steps to reproduce:

I ran pip3 install --break-system-packages mozregression.

Actual results:

$ pip3 install --break-system-packages mozregression
...
     💥 maturin failed
        Caused by: Failed to run uniffi-bindgen, did you install it? Try `pip install uniffi-bindgen`
        Caused by: No such file or directory (os error 2)
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/usr/bin/python3', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for glean-sdk
Failed to build glean-sdk
ERROR: Could not build wheels for glean-sdk, which is required to install pyproject.toml-based projects

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
$ pip3 install --break-system-packages uniffi-bindgen
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: uniffi-bindgen in ./.local/lib/python3.11/site-packages (0.26.1)

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
$ maturin
-ash: maturin: not found
$ ls .local/bin/ | grep maturin
$ find .local/ | grep maturin
$ pip3 install --break-system-packages maturin
Defaulting to user installation because normal site-packages is not writeable
Collecting maturin
  Using cached maturin-1.5.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl.metadata (18 kB)
Using cached maturin-1.5.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_1_aarch64.whl (9.8 MB)
Installing collected packages: maturin
Successfully installed maturin-1.5.1

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
$ 

It looks like maturin wasn't even installed even though it seems to be needed;

Expected results:

Installing mozregression works without manully installing maturin and uniffi-bindgen . If it is needed then it should be a dependency.

It seems like even when I install maturin it doesn't work:

         Compiling glean-bundle v1.0.0 (/tmp/pip-install-6d7zvhcr/glean-sdk_991d3795b5254853a0c0187d415207a2/glean-core/bundle)
          Finished release [optimized] target(s) in 22m 15s
      💥 maturin failed
        Caused by: Failed to run uniffi-bindgen, did you install it? Try `pip install uniffi-bindgen`
        Caused by: No such file or directory (os error 2)
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/usr/bin/python3', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for glean-sdk
Failed to build glean-sdk
ERROR: Could not build wheels for glean-sdk, which is required to install pyproject.toml-based projects

[notice] A new release of pip is available: 23.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
$ maturin
-ash: maturin: not found
$ ls .local/bin/ | grep maturin
maturin
$

So it seems like both maturin isn't installed when needed, and even when installed it's apparently not called correctly when needed. Isn't it possible to call python programs via some python3 -m maturin or similarly which doesn't depend on the $PATH? I thought that was possible, so that's probably what it should be doing.

The severity field is not set for this bug.
:zeid, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(zeid)
You need to log in before you can comment on or make changes to this bug.