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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions