Skip to content

compiling main with ROCm 7.2 fails #204

Description

@akostadinov

Attaching the full Dockerfile too which reproduces the issue.

Dockerfile.txt

$ uv pip install --break-system-packages --no-cache --no-build-isolation --no-binary=vptq     git+https://github.com/microsoft/VPTQ.git
Using Python 3.13.12 environment at: /opt/venv
Resolved 88 packages in 1.95s
   Updating https://github.com/microsoft/VPTQ.git (HEAD)
Downloading pydantic-core (2.0MiB)
Downloading pyarrow (45.4MiB)
Downloading plotly (14.5MiB)
Downloading scikit-learn (8.5MiB)
Downloading tokenizers (3.1MiB)
Downloading transformers (10.2MiB)
Downloading gradio (41.0MiB)
Downloading brotli (1.4MiB)
Downloading aiohttp (1.7MiB)
Downloading hf-xet (4.0MiB)
 Downloaded brotli
 Downloaded aiohttp
 Downloaded pydantic-core
 Downloaded tokenizers
 Downloaded hf-xet
 Downloaded scikit-learn
 Downloaded transformers
 Downloaded plotly
 Downloaded gradio
 Downloaded pyarrow
    Updated https://github.com/microsoft/VPTQ.git (942c3151026c26a5fae62807c65c630ff19e3893)
   Building vptq @ git+https://github.com/microsoft/VPTQ.git@942c3151026c26a5fae62807c65c630ff19e3893
  × Failed to build `vptq @
  │ git+https://github.com/microsoft/VPTQ.git@942c3151026c26a5fae62807c65c630ff19e3893`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/__main__.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/__init__.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/app.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/app_utils.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/app_gpu.py -> build/lib.linux-x86_64-cpython-313/vptq
      running egg_info
      creating vptq.egg-info
      writing vptq.egg-info/PKG-INFO
      writing dependency_links to vptq.egg-info/dependency_links.txt
      writing requirements to vptq.egg-info/requires.txt
      writing top-level names to vptq.egg-info/top_level.txt
      writing manifest file 'vptq.egg-info/SOURCES.txt'
      reading manifest file 'vptq.egg-info/SOURCES.txt'
      adding license file 'LICENSE'
      writing manifest file 'vptq.egg-info/SOURCES.txt'
      creating build/lib.linux-x86_64-cpython-313/vptq/layers
      copying vptq/layers/__init__.py ->
      build/lib.linux-x86_64-cpython-313/vptq/layers
      copying vptq/layers/model_base.py ->
      build/lib.linux-x86_64-cpython-313/vptq/layers
      copying vptq/layers/utils.py ->
      build/lib.linux-x86_64-cpython-313/vptq/layers
      copying vptq/layers/vqlinear.py ->
      build/lib.linux-x86_64-cpython-313/vptq/layers
      creating build/lib.linux-x86_64-cpython-313/vptq/ops
      copying vptq/ops/__init__.py ->
      build/lib.linux-x86_64-cpython-313/vptq/ops
      copying vptq/ops/quant_gemm.py ->
      build/lib.linux-x86_64-cpython-313/vptq/ops
      creating build/lib.linux-x86_64-cpython-313/vptq/tools
      copying vptq/tools/__init__.py ->
      build/lib.linux-x86_64-cpython-313/vptq/tools
      copying vptq/tools/pre_process.py ->
      build/lib.linux-x86_64-cpython-313/vptq/tools
      creating build/lib.linux-x86_64-cpython-313/vptq/tools/hessian
      copying vptq/tools/hessian/__init__.py ->
      build/lib.linux-x86_64-cpython-313/vptq/tools/hessian
      creating build/lib.linux-x86_64-cpython-313/vptq/utils
      copying vptq/utils/__init__.py ->
      build/lib.linux-x86_64-cpython-313/vptq/utils
      copying vptq/utils/pack.py ->
      build/lib.linux-x86_64-cpython-313/vptq/utils
      copying vptq/__main__.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/__init__.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/app.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/app_utils.py -> build/lib.linux-x86_64-cpython-313/vptq
      copying vptq/app_gpu.py -> build/lib.linux-x86_64-cpython-313/vptq
      running build_ext

      [stderr]
      /opt/venv/lib/python3.13/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 :: MIT License

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

      !!
        dist._finalize_license_expression()
      /opt/venv/lib/python3.13/site-packages/setuptools/dist.py:765:
      SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!

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

              License :: OSI Approved :: MIT License

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

      !!
        self._finalize_license_expression()
      /opt/venv/lib/python3.13/site-packages/setuptools/command/build_py.py:215:
      _Warning: Package 'vptq.layers' is absent from the `packages`
      configuration.
      !!

      
      ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'vptq.layers' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to
      distribute this
              package, please make sure that 'vptq.layers' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery
      methods
              (for example by using
      `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools
      documentation page:

              -
      https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'vptq.layers' to be distributed and are
              already explicitly excluding 'vptq.layers' via
              `find_namespace_packages(...)/find_namespace` or
      `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or
      `include-package-data=False` in
              combination with a more fine grained `package-data`
      configuration.

              You can read more about "package data files" on setuptools
      documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be
      imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of
      package data
                    directory, all directories are treated like packages.
      
      ********************************************************************************

      !!
        check.warn(importable)
      /opt/venv/lib/python3.13/site-packages/setuptools/command/build_py.py:215:
      _Warning: Package 'vptq.ops' is absent from the `packages`
      configuration.
      !!

      
      ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'vptq.ops' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to
      distribute this
              package, please make sure that 'vptq.ops' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery
      methods
              (for example by using
      `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools
      documentation page:

              -
      https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'vptq.ops' to be distributed and are
              already explicitly excluding 'vptq.ops' via
              `find_namespace_packages(...)/find_namespace` or
      `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or
      `include-package-data=False` in
              combination with a more fine grained `package-data`
      configuration.

              You can read more about "package data files" on setuptools
      documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be
      imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of
      package data
                    directory, all directories are treated like packages.
      
      ********************************************************************************

      !!
        check.warn(importable)
      /opt/venv/lib/python3.13/site-packages/setuptools/command/build_py.py:215:
      _Warning: Package 'vptq.tools' is absent from the `packages`
      configuration.
      !!

      
      ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'vptq.tools' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to
      distribute this
              package, please make sure that 'vptq.tools' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery
      methods
              (for example by using
      `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools
      documentation page:

              -
      https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'vptq.tools' to be distributed and are
              already explicitly excluding 'vptq.tools' via
              `find_namespace_packages(...)/find_namespace` or
      `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or
      `include-package-data=False` in
              combination with a more fine grained `package-data`
      configuration.

              You can read more about "package data files" on setuptools
      documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be
      imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of
      package data
                    directory, all directories are treated like packages.
      
      ********************************************************************************

      !!
        check.warn(importable)
      /opt/venv/lib/python3.13/site-packages/setuptools/command/build_py.py:215:
      _Warning: Package 'vptq.tools.hessian' is absent from the `packages`
      configuration.
      !!

      
      ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'vptq.tools.hessian' as an importable
      package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to
      distribute this
              package, please make sure that 'vptq.tools.hessian' is
      explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery
      methods
              (for example by using
      `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools
      documentation page:

              -
      https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'vptq.tools.hessian' to be distributed and are
              already explicitly excluding 'vptq.tools.hessian' via
              `find_namespace_packages(...)/find_namespace` or
      `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or
      `include-package-data=False` in
              combination with a more fine grained `package-data`
      configuration.

              You can read more about "package data files" on setuptools
      documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be
      imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of
      package data
                    directory, all directories are treated like packages.
      
      ********************************************************************************

      !!
        check.warn(importable)
      /opt/venv/lib/python3.13/site-packages/setuptools/command/build_py.py:215:
      _Warning: Package 'vptq.utils' is absent from the `packages`
      configuration.
      !!

      
      ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'vptq.utils' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to
      distribute this
              package, please make sure that 'vptq.utils' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery
      methods
              (for example by using
      `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools
      documentation page:

              -
      https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'vptq.utils' to be distributed and are
              already explicitly excluding 'vptq.utils' via
              `find_namespace_packages(...)/find_namespace` or
      `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or
      `include-package-data=False` in
              combination with a more fine grained `package-data`
      configuration.

              You can read more about "package data files" on setuptools
      documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html


              [^1]: For Python, any directory (with suitable naming) can be
      imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of
      package data
                    directory, all directories are treated like packages.
      
      ********************************************************************************

      !!
        check.warn(importable)
      Traceback (most recent call last):
        File "<string>", line 11, in <module>
          wheel_filename =
      backend.build_wheel("/tmp/.tmpZKeS5c/builds-v0/.tmpGDsIXe", {}, None)
        File "/opt/venv/lib/python3.13/site-packages/setuptools/build_meta.py",
      line 438, in build_wheel
          return _build(['bdist_wheel'])
        File "/opt/venv/lib/python3.13/site-packages/setuptools/build_meta.py",
      line 429, in _build
          return self._build_with_temp_dir(
                 ~~~~~~~~~~~~~~~~~~~~~~~~~^
              cmd,
              ^^^^
          ...<3 lines>...
              self._arbitrary_args(config_settings),
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          )
          ^
        File "/opt/venv/lib/python3.13/site-packages/setuptools/build_meta.py",
      line 410, in _build_with_temp_dir
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/opt/venv/lib/python3.13/site-packages/setuptools/build_meta.py",
      line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 286, in <module>
        File "/opt/venv/lib/python3.13/site-packages/setuptools/__init__.py",
      line 117, in setup
          return distutils.core.setup(**attrs)  # type: ignore[return-value]
                 ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/core.py",
      line 186, in setup
          return run_commands(dist)
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/core.py",
      line 202, in run_commands
          dist.run_commands()
          ~~~~~~~~~~~~~~~~~^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/dist.py",
      line 1000, in run_commands
          self.run_command(cmd)
          ~~~~~~~~~~~~~~~~^^^^^
        File "/opt/venv/lib/python3.13/site-packages/setuptools/dist.py", line
      1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/dist.py",
      line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/command/bdist_wheel.py",
      line 370, in run
          self.run_command("build")
          ~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/cmd.py",
      line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/opt/venv/lib/python3.13/site-packages/setuptools/dist.py", line
      1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/dist.py",
      line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/command/build.py",
      line 135, in run
          self.run_command(cmd_name)
          ~~~~~~~~~~~~~~~~^^^^^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/cmd.py",
      line 341, in run_command
          self.distribution.run_command(command)
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File "/opt/venv/lib/python3.13/site-packages/setuptools/dist.py", line
      1107, in run_command
          super().run_command(command)
          ~~~~~~~~~~~~~~~~~~~^^^^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/dist.py",
      line 1019, in run_command
          cmd_obj.run()
          ~~~~~~~~~~~^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/command/build_ext.py",
      line 97, in run
          _build_ext.run(self)
          ~~~~~~~~~~~~~~^^^^^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py",
      line 367, in run
          self.build_extensions()
          ~~~~~~~~~~~~~~~~~~~~~^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py",
      line 483, in build_extensions
          self._build_extensions_serial()
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
        File
      "/opt/venv/lib/python3.13/site-packages/setuptools/_distutils/command/build_ext.py",
      line 509, in _build_extensions_serial
          self.build_extension(ext)
          ~~~~~~~~~~~~~~~~~~~~^^^^^
        File "<string>", line 123, in build_extension
        File "<string>", line 41, in nvcc_threads
        File "<string>", line 31, in get_cuda_bare_metal_version
      TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    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