ghdl
ghdl copied to clipboard
pyGHDL fails to build: ValueError: No distribution was found. Ensure that `setup.py` is not empty and that it calls `setup()`
Description I am attempting to build for pyGHDL, but this error occurs:
===> Building for ghdl-4.1.0
cd /usr/ports/cad/py-pyghdl/work-py311/ghdl-4.1.0 && /usr/bin/env -i HOME=/usr/ports/cad/py-pyghdl/work-py311 PWD="${PWD}" __MAKE_CONF=/nonexistent OSVERSION=1401500 PATH=/usr/local/libexec/ccache:/usr/ports/cad/py-pyghdl/work-py311/.bin:/home/yuri/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin TERM=xterm-256color XDG_DATA_HOME=/usr/ports/cad/py-pyghdl/work-py311 XDG_CONFIG_HOME=/usr/ports/cad/py-pyghdl/work-py311 XDG_CACHE_HOME=/usr/ports/cad/py-pyghdl/work-py311/.cache HOME=/usr/ports/cad/py-pyghdl/work-py311 PATH=/usr/local/libexec/ccache:/usr/ports/cad/py-pyghdl/work-py311/.bin:/home/yuri/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin PKG_CONFIG_LIBDIR=/usr/ports/cad/py-pyghdl/work-py311/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CCACHE_DIR="/tmp/.ccache" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" /usr/local/bin/python3.11 -m build --no-isolation --wheel
* Getting build dependencies for wheel...
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/lsp/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/lsp/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/cli/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/cli/../dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/cli/../dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] - pyTooling>=4.0.1, <5.0
[pyTooling.Packaging] - pyAttributes>=2.3.2
[pyTooling.Packaging] Extracting requirements from 'doc/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/lsp/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/lsp/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/cli/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/cli/../dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/cli/../dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] - pyTooling>=4.0.1, <5.0
[pyTooling.Packaging] - pyAttributes>=2.3.2
[pyTooling.Packaging] - sphinx
[pyTooling.Packaging] - python-dateutil>=2.8.2
[pyTooling.Packaging] - autoapi>=2.0.1
[pyTooling.Packaging] - myst-parser
[pyTooling.Packaging] - sphinx_fontawesome>=0.0.6
[pyTooling.Packaging] - sphinx_autodoc_typehints>=1.19.5
[pyTooling.Packaging] - furo
[pyTooling.Packaging] - btd.sphinx.autoprogram>=0.1.7.post1
* Building wheel...
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/lsp/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/lsp/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/cli/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/cli/../dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'pyGHDL/cli/../dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] - pyTooling>=4.0.1, <5.0
[pyTooling.Packaging] - pyAttributes>=2.3.2
[pyTooling.Packaging] Extracting requirements from 'doc/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/lsp/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/lsp/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/cli/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/cli/../dom/requirements.txt'.
[pyTooling.Packaging] Extracting requirements from 'doc/../pyGHDL/cli/../dom/../libghdl/requirements.txt'.
[pyTooling.Packaging] - pyTooling>=4.0.1
[pyTooling.Packaging] - pyVHDLModel==0.25.1
[pyTooling.Packaging] - pyTooling>=4.0.1, <5.0
[pyTooling.Packaging] - pyAttributes>=2.3.2
[pyTooling.Packaging] - sphinx
[pyTooling.Packaging] - python-dateutil>=2.8.2
[pyTooling.Packaging] - autoapi>=2.0.1
[pyTooling.Packaging] - myst-parser
[pyTooling.Packaging] - sphinx_fontawesome>=0.0.6
[pyTooling.Packaging] - sphinx_autodoc_typehints>=1.19.5
[pyTooling.Packaging] - furo
[pyTooling.Packaging] - btd.sphinx.autoprogram>=0.1.7.post1
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 107, in _file_with_extension
file, = matching
^^^^^
ValueError: not enough values to unpack (expected 1, got 0)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 380, in <module>
main()
File "/usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 364, in main
json_out["return_val"] = hook(**hook_input["kwargs"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py", line 278, in build_wheel
return _build_backend().build_wheel(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 244, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 231, in _build_with_temp_dir
result_basename = _file_with_extension(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/setuptools/build_meta.py", line 109, in _file_with_extension
raise ValueError(
ValueError: No distribution was found. Ensure that `setup.py` is not empty and that it calls `setup()`.
ERROR Backend subprocess exited when trying to invoke build_wheel
*** Error code 1
It appears that the setup.py and pyproject.toml files should be in the pyGHDL folder. In general, it's best to have pyGHDL as a separate project (or directory) that should be buildable using the standard Python tools once the ghdl package is installed.
Context
- OS: FreeBSD 14.1
Additional context
Building within the FreeBSD ports framework using the Python's build
module that uses pyptoject.toml