aertslab/scatac_fragment_tools

scatac_fragment_tools fails to build while building a Docker image for SCENIC+

Closed this issue · 3 comments

rustc version comes from python:3.8-slim which is based on Debian bookworm.
Any hint how to fix that? Thanks!

  Building wheel for scatac_fragment_tools (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error
  
  × Building wheel for scatac_fragment_tools (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [13 lines of output]
      Running `maturin pep517 build-wheel -i /opt/venv/bin/python --compatibility off`
      🍹 Building a mixed python/rust project
      🔗 Found pyo3 bindings with abi3 support for Python ≥ 3.8
      🐍 Not using a specific python interpreter
      📡 Using build options features from pyproject.toml
      error: package `regex-automata v0.4.5` cannot be built because it requires rustc 1.65 or newer, while the currently active rustc version is 1.63.0
      Either upgrade to rustc 1.65 or newer, or use
      cargo update -p regex-automata@0.4.5 --precise ver
      where `ver` is the latest version of `regex-automata` supporting rustc 1.63.0
      💥 maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO PYO3_ENVIRONMENT_SIGNATURE="cpython-3.8-64bit" PYO3_PYTHON="/opt/venv/bin/python" PYTHON_SYS_EXECUTABLE="/opt/venv/bin/python" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-abwxzdwo/scatac-fragment-tools_3c25f0cf60da4c1599a3e02fe10837aa/rust/Cargo.toml" "--release" "--lib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/opt/venv/bin/python', '--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 scatac_fragment_tools

Hi @mestia

I'm afraid you will need a docker environment with rustc version 1.65 or higher.
You could consider trying cargo update -p regex-automata@0.4.5 --precise ver "where ver is the latest version of regex-automata supporting rustc 1.63.0" as suggested in the error message, however I can not guarantee that this will work.

We are releasing the package to pypi soon, that way you may not need to build it from source. So stay tuned for that.

All the best,

Seppe

scatac_fragment_tools is now on PyPI:

pip install scatac_fragment_tools

Great! I have managed to build the docker image for scenicplus buy using Trixie (Debian testing) which comes with rust 1.70.