Skip to content

Installation Error Due to Incompatibility and How to Resolve it #86

Open
@Mactor2018

Description

@Mactor2018

Below is how I resolve the error I've encountered when installing mambavision:

0. My Environment

  • PyTorch 2.6.0+cu124
  • CUDA 12.4
  • Python 3.10
  • Ubuntu 22.04

1. Issue

When I was trying to install MambaVision via (uv) pip install mambavision, the following error occurred:

  × Failed to build `mamba-ssm==2.2.4`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)

      [stdout]


      torch.__version__  = 2.7.0+cu126


      running bdist_wheel
      Guessing wheel URL:  https://github.com/state-spaces/mamba/releases/download/v2.2.4/mamba_ssm-2.2.4+cu12torch2.7cxx11abiTRUE-cp310-cp310-linux_x86_64.whl
      Precompiled wheel not found. Building from source...
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm
      copying mamba_ssm/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/ssd_minimal.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/mha.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/mlp.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/mamba2_simple.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/mamba_simple.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/mamba2.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      copying mamba_ssm/modules/block.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/modules
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm/ops
      copying mamba_ssm/ops/selective_scan_interface.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops
      copying mamba_ssm/ops/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm/distributed
      copying mamba_ssm/distributed/tensor_parallel.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/distributed
      copying mamba_ssm/distributed/distributed_utils.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/distributed
      copying mamba_ssm/distributed/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/distributed
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm/models
      copying mamba_ssm/models/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/models
      copying mamba_ssm/models/mixer_seq_simple.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/models
      copying mamba_ssm/models/config_mamba.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/models
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm/utils
      copying mamba_ssm/utils/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/utils
      copying mamba_ssm/utils/hf.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/utils
      copying mamba_ssm/utils/generation.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/utils
      copying mamba_ssm/utils/torch.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/utils
      creating build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/selective_state_update.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/ssd_combined.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/layer_norm.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/__init__.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/softplus.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/ssd_chunk_scan.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/k_activations.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/layernorm_gated.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/ssd_bmm.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/ssd_chunk_state.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      copying mamba_ssm/ops/triton/ssd_state_passing.py -> build/lib.linux-x86_64-cpython-310/mamba_ssm/ops/triton
      running egg_info
      writing mamba_ssm.egg-info/PKG-INFO
      writing dependency_links to mamba_ssm.egg-info/dependency_links.txt
      writing requirements to mamba_ssm.egg-info/requires.txt
      writing top-level names to mamba_ssm.egg-info/top_level.txt
      reading manifest file 'mamba_ssm.egg-info/SOURCES.txt'
      adding license file 'LICENSE'
      adding license file 'AUTHORS'
      writing manifest file 'mamba_ssm.egg-info/SOURCES.txt'
      running build_ext
      building 'selective_scan_cuda' extension
      creating /root/.cache/uv/sdists-v9/index/e367fd55faf540ee/mamba-ssm/2.2.4/wDM4IVoFN2j20HqhGjY_e/src/build/temp.linux-x86_64-cpython-310/csrc/selective_scan
      ninja: error: '/root/.cache/uv/sdists-v9/index/e367fd55faf540ee/mamba-ssm/2.2.4/wDM4IVoFN2j20HqhGjY_e/src/csrc/selective_scan/selective_scan.cpp', needed by
      '/root/.cache/uv/sdists-v9/index/e367fd55faf540ee/mamba-ssm/2.2.4/wDM4IVoFN2j20HqhGjY_e/src/build/temp.linux-x86_64-cpython-310/csrc/selective_scan/selective_scan.o',
      missing and no known rule to make it

      [stderr]
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/_subclasses/functional_tensor.py:276: UserWarning: Failed to initialize NumPy: No module named
      'numpy' (Triggered internally at /pytorch/torch/csrc/utils/tensor_numpy.cpp:81.)
        cpu = _conversion_method_template(device=torch.device("cpu"))
      No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML
      table is deprecated
      !!

              ********************************************************************************
              Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on
      setuptools>=77.0.0).

              By 2026-Feb-18, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        corresp(dist, value, root_dir)
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsWarning: `install_requires` overwritten in
      `pyproject.toml` (dependencies)
        corresp(dist, value, root_dir)
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are
      deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: BSD License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        dist._finalize_license_expression()
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:

              License :: OSI Approved :: BSD License

              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************

      !!
        self._finalize_license_expression()
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py:480: UserWarning: The detected CUDA version (12.4) has a minor version
      mismatch with the version that was used to compile PyTorch (12.6). Most likely this shouldn't be a problem.
        warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda))
      /root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py:490: UserWarning: There are no g++ version bounds defined for CUDA version
      12.4
        warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}')
      Emitting ninja build file /root/.cache/uv/sdists-v9/index/e367fd55faf540ee/mamba-ssm/2.2.4/wDM4IVoFN2j20HqhGjY_e/src/build/temp.linux-x86_64-cpython-310/build.ninja...
      Compiling objects...
      Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
      Traceback (most recent call last):
        File "<string>", line 317, in run
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 241, in urlretrieve
          with contextlib.closing(urlopen(url, data)) as fp:
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 216, in urlopen
          return opener.open(url, data, timeout)
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 525, in open
          response = meth(req, response)
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 634, in http_response
          response = self.parent.error(
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 563, in error
          return self._call_chain(*args)
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 496, in _call_chain
          result = func(*args)
        File "/root/miniconda3/envs/mamba/lib/python3.10/urllib/request.py", line 643, in http_error_default
          raise HTTPError(req.full_url, code, msg, hdrs, fp)
      urllib.error.HTTPError: HTTP Error 404: Not Found

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2506, in _run_ninja_build
          subprocess.run(
        File "/root/miniconda3/envs/mamba/lib/python3.10/subprocess.py", line 526, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "<string>", line 11, in <module>
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/build_meta.py", line 432, in build_wheel
          return _build(['bdist_wheel'])
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/build_meta.py", line 423, in _build
          return self._build_with_temp_dir(
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/build_meta.py", line 404, in _build_with_temp_dir
          self.run_setup()
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
        File "<string>", line 336, in <module>
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/__init__.py", line 115, in setup
          return distutils.core.setup(**attrs)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
          self.run_command(cmd)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "<string>", line 334, in run
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/command/bdist_wheel.py", line 370, in run
          self.run_command("build")
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 96, in run
          _build_ext.run(self)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 368, in run
          self.build_extensions()
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 1010, in build_extensions
          build_ext.build_extensions(self)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 484, in build_extensions
          self._build_extensions_serial()
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 510, in _build_extensions_serial
          self.build_extension(ext)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 261, in build_extension
          _build_ext.build_extension(self, ext)
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 565, in build_extension
          objects = self.compiler.compile(
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 815, in unix_wrap_ninja_compile
          _write_ninja_file_and_compile_objects(
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2159, in _write_ninja_file_and_compile_objects
          _run_ninja_build(
        File "/root/.cache/uv/builds-v0/.tmpqrYPgD/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2522, in _run_ninja_build
          raise RuntimeError(message) from e
      RuntimeError: Error compiling objects for extension

      hint: This usually indicates a problem with the package or the build environment.
  help: `mamba-ssm` (v2.2.4) was included because `mambavision` (v1.1.0) depends on `mamba-ssm

So I looked up for how to install mamba-ssm and to find out why this error happens:

  1. mambavision requires mamba-ssm==2.2.4 here
  2. No wheels have already been built for cuda124 torch2.6 for mamba-ssm of the version 2.2.4 by 27th May, 2025.

3. Resolution

  1. Make sure your Pytorch is compatible with your CUDA.
  2. Visit the release site of mamba-ssm to choose an older version with a pre-built wheel that matches your environment. E.g., v2.2.3.post2. And it is optional for you to install causal-conv1d according to the advice of mamba-ssm. (Also choose a compatible pre-built wheel)
  3. Use (uv) pip install **.whl to install.
  4. Build mambavision from source:
git clone https://github.com/NVlabs/MambaVision.git
cd MambaVision

Replace 'mamba-ssm==2.2.4' with 'mamba-ssm' in line 40 of setup.py. Then build from source:

(uv) pip install -e . 

FYI, these wheels work in my environment:

causal-conv1d            1.5.0.post5   (causal_conv1d-1.5.0.post5+cu12torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl)
mamba-ssm                2.2.3.post2  (mamba_ssm-2.2.3.post2+cu12torch2.6cxx11abiFALSE-cp310-cp310-linux_x86_64.whl)

Hope it helps!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions