source build from release tar file?
hpcpony opened this issue · 1 comments
I'd really like to build from source using one of the release tar files, but I'm having issues. Anybody know of any magic to make it possible? If you can't build from the release files, what purpose do the serve?
(nspeed) [host1:neural-speed-1.0] pip install -r requirements.txt
.
.
.
(nspeed) [host1:neural-speed-1.0] pip install .
Processing /scr/nspeed/neural-speed-1.0
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [46 lines of output]
/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/__init__.py:81: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
********************************************************************************
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try `pip install --use-pep517`.
********************************************************************************
!!
dist.fetch_build_eggs(dist.setup_requires)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
File "/scr/nspeed/neural-speed-1.0/.eggs/setuptools_scm-8.1.0-py3.11.egg/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
section = defn.get("tool", {})[tool_name]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "/scr/nspeed/neural-speed-1.0/setup.py", line 232, in <module>
setup(
File "/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/__init__.py", line 104, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 146, in setup
_setup_distribution = dist = klass(attrs)
^^^^^^^^^^^^
File "/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/dist.py", line 307, in __init__
_Distribution.__init__(self, dist_attrs)
File "/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 284, in __init__
self.finalize_options()
File "/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/dist.py", line 658, in finalize_options
ep(self)
File "/opt/pytorch-2.3.0/envs/nspeed/lib/python3.11/site-packages/setuptools/dist.py", line 678, in _finalize_setup_keywords
ep.load()(self, ep.name, value)
File "/scr/nspeed/neural-speed-1.0/.eggs/setuptools_scm-8.1.0-py3.11.egg/setuptools_scm/_integration/setuptools.py", line 103, in version_keyword
_assign_version(dist, config)
File "/scr/nspeed/neural-speed-1.0/.eggs/setuptools_scm-8.1.0-py3.11.egg/setuptools_scm/_integration/setuptools.py", line 58, in _assign_version
_version_missing(config)
File "/scr/nspeed/neural-speed-1.0/.eggs/setuptools_scm-8.1.0-py3.11.egg/setuptools_scm/_get_version_impl.py", line 117, in _version_missing
raise LookupError(
LookupError: setuptools-scm was unable to detect version for /scr/nspeed/neural-speed-1.0.
Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.
For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
I did try the PEP 517 suggestion but then it started complaining about "ModuleNotFoundError: No module named 'cmake'" which I'm sure it there. I think the stuff at the end about git repositories is probably more relevant. I could not figure out how to work the "git+https://github.com/user/proj.git#egg=proj" suggestion.
Hi, @hpcpony, sorry for that. The reason seems like the archive v1.0 tar is not a git repo. The release tar files are generated by GitHub automatically and we will investigate how to build from these release files.
For a temporary solution, I suggest you use git clone && git checkout
ways to get the v1.0 repo and build it from source (requires GCC > 10+). Thanks.