Skip to content

Error when install the requirement "fast-hadamard-transform" #7

@Dtristone

Description

@Dtristone

the requirements.txt indict that "torch>=2.7.0", I installed the torch=2.9.0 with cuda 12.9, and I update my gcc to 12.3. All other packages are installed successfully. However, the offical pre-build wheel of fast-hadamard-transform only support to torch2.2 and cuda 12.2:
“fast_hadamard_transform-1.0.4.post1+cu122torch2.2cxx11abiTRUE-cp311-cp311-linux_x86_64”. When it build it from source, error comes:

Building wheels for collected packages: fast-hadamard-transform
  DEPRECATION: Building 'fast-hadamard-transform' using the legacy setup.py bdist_wheel mechanism, which will be removed in a future version. pip 25.3 will enforce this behaviour change. A possible replacement is to use the standardized build interface by setting the `--use-pep517` option, (possibly combined with `--no-build-isolation`), or adding a `pyproject.toml` file to the source tree of 'fast-hadamard-transform'. Discussion can be found at https://github.com/pypa/pip/issues/6334
  Building wheel for fast-hadamard-transform (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [126 lines of output]


      torch.__version__  = 2.8.0+cu129


      /root/anaconda3/envs/quartet/lib/python3.11/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()
      running bdist_wheel
      Guessing wheel URL:  https://github.com/Dao-AILab/fast-hadamard-transform/releases/download/v1.0.4.post1/fast_hadamard_transform-1.0.4.post1+cu122torch2.8cxx11abiTRUE-cp311-cp311-linux_x86_64.whl
      Precompiled wheel not found. Building from source...
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-311/fast_hadamard_transform
      copying fast_hadamard_transform/fast_hadamard_transform_interface.py -> build/lib.linux-x86_64-cpython-311/fast_hadamard_transform
      copying fast_hadamard_transform/__init__.py -> build/lib.linux-x86_64-cpython-311/fast_hadamard_transform
      running build_ext
      W0929 11:32:35.102000 2860474 site-packages/torch/utils/cpp_extension.py:517] There are no g++ version bounds defined for CUDA version 12.9
      building 'fast_hadamard_transform_cuda' extension
      creating /tmp/pip-install-rla5foh2/fast-hadamard-transform_597c654d9f2b4442bb61b46d38d3b118/build/temp.linux-x86_64-cpython-311/csrc
      ninja: error: '/tmp/pip-install-rla5foh2/fast-hadamard-transform_597c654d9f2b4442bb61b46d38d3b118/csrc/fast_hadamard_transform.cpp', needed by '/tmp/pip-install-rla5foh2/fast-hadamard-transform_597c654d9f2b4442bb61b46d38d3b118/build/temp.linux-x86_64-cpython-311/csrc/fast_hadamard_transform.o', missing and no known rule to make it
      Traceback (most recent call last):
        File "/tmp/pip-install-rla5foh2/fast-hadamard-transform_597c654d9f2b4442bb61b46d38d3b118/setup.py", line 204, in run
          urllib.request.urlretrieve(wheel_url, wheel_filename)
        File "/root/anaconda3/envs/quartet/lib/python3.11/urllib/request.py", line 241, in urlretrieve
          with contextlib.closing(urlopen(url, data)) as fp:
                                  ^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/urllib/request.py", line 216, in urlopen
          return opener.open(url, data, timeout)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/urllib/request.py", line 525, in open
          response = meth(req, response)
                     ^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/urllib/request.py", line 634, in http_response
          response = self.parent.error(
                     ^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/urllib/request.py", line 563, in error
          return self._call_chain(*args)
                 ^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/urllib/request.py", line 496, in _call_chain
          result = func(*args)
                   ^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/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/anaconda3/envs/quartet/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2595, in _run_ninja_build
          subprocess.run(
        File "/root/anaconda3/envs/quartet/lib/python3.11/subprocess.py", line 571, 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 2, in <module>
        File "<pip-setuptools-caller>", line 35, in <module>
        File "/tmp/pip-install-rla5foh2/fast-hadamard-transform_597c654d9f2b4442bb61b46d38d3b118/setup.py", line 224, in <module>
          setup(
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/__init__.py", line 115, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 186, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 202, in run_commands
          dist.run_commands()
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 1002, in run_commands
          self.run_command(cmd)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-rla5foh2/fast-hadamard-transform_597c654d9f2b4442bb61b46d38d3b118/setup.py", line 221, in run
          super().run()
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/command/bdist_wheel.py", line 370, in run
          self.run_command("build")
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 357, in run_command
          self.distribution.run_command(command)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/dist.py", line 1102, in run_command
          super().run_command(command)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 1021, in run_command
          cmd_obj.run()
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 96, in run
          _build_ext.run(self)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 368, in run
          self.build_extensions()
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1072, in build_extensions
          build_ext.build_extensions(self)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 484, in build_extensions
          self._build_extensions_serial()
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 510, in _build_extensions_serial
          self.build_extension(ext)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 261, in build_extension
          _build_ext.build_extension(self, ext)
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 565, in build_extension
          objects = self.compiler.compile(
                    ^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 856, in unix_wrap_ninja_compile
          _write_ninja_file_and_compile_objects(
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2227, in _write_ninja_file_and_compile_objects
          _run_ninja_build(
        File "/root/anaconda3/envs/quartet/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2612, in _run_ninja_build
          raise RuntimeError(message) from e
      RuntimeError: Error compiling objects for extension
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for fast-hadamard-transform
  Running setup.py clean for fast-hadamard-transform
Failed to build fast-hadamard-transform
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> fast-hadamard-transform

Are there ways to solve this? Or are there other recommended env? May be I should report the error to the fast-hadamard-transform?

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