compiling main with ROCm 7.2 fails
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 681
- Forks
- 53
- PR merge metrics
- No merged PRs in 30d
Description
Attaching the full Dockerfile too which reproduces the issue.
$ 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'
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the attached Dockerfile and reproduce the uv pip installation in the Python 3.13 environment using ROCm 7.2. Read the build_ext stage and the reported compiler output first; done means the VPTQ package builds successfully in that environment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- build-system, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100