tomerfiliba-org / reedsolomon

⏳🛡 Pythonic universal errors-and-erasures Reed-Solomon codec to protect your data from errors and bitrot. Includes a future-proof zero-dependencies pure-python implementation 🔮 and an optional speed-optimized Cython/C extension 🚀
http://pypi.python.org/pypi/reedsolo
Other
351 stars 86 forks source link

2.0.5: pep517 based build fails #63

Closed kloczek closed 1 year ago

kloczek commented 1 year ago

It may be result of latest cython upgrade

```console + /usr/bin/python3 -sBm build -w --no-isolation -C=--build-option=--cythonize * Getting build dependencies for wheel... running egg_info creating reedsolo.egg-info writing reedsolo.egg-info/PKG-INFO writing dependency_links to reedsolo.egg-info/dependency_links.txt writing top-level names to reedsolo.egg-info/top_level.txt writing manifest file 'reedsolo.egg-info/SOURCES.txt' reading manifest file 'reedsolo.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'reedsolo.egg-info/SOURCES.txt' * Building wheel... Cython is installed, building creedsolo module [1/1] Cythonizing creedsolo.pyx Error compiling Cython file: ------------------------------------------------------------ ... ^ ------------------------------------------------------------ cython:0:0: cython.cimports is not available Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(**hook_input['kwargs']) File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel return _build_backend().build_wheel(wheel_directory, config_settings, File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 413, in build_wheel return self._build_with_temp_dir(['bdist_wheel'], '.whl', File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 398, in _build_with_temp_dir self.run_setup() File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 484, in run_setup super(_BuildMetaLegacyBackend, File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 335, in run_setup exec(code, locals()) File "", line 32, in File "/usr/lib64/python3.8/site-packages/Cython/Build/Dependencies.py", line 1115, in cythonize cythonize_one(*args) File "/usr/lib64/python3.8/site-packages/Cython/Build/Dependencies.py", line 1238, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: creedsolo.pyx ERROR Backend subprocess exited when trying to invoke build_wheel ```

Here is list of installed modules in build env

```console Package Version --------------- ------- build 0.10.0 Cython 0.29.34 distro 1.8.0 exceptiongroup 1.0.0 gpg 1.19.0 iniconfig 2.0.0 installer 0.7.0 libcomps 0.1.19 packaging 23.0 pluggy 1.0.0 pyproject_hooks 1.0.0 pytest 7.3.0 python-dateutil 2.8.2 setuptools 65.6.3 six 1.16.0 tomli 2.0.1 wheel 0.40.0 ```
lrq3000 commented 1 year ago

Yes it is because you don't have cython v3.0.0b2 installed, but anyway reedsolo v2.0.5 was yanked. Please pip install reedsolo --pre if you want to use the latest release, the dependencies are now correctly handled in the pyproject.toml so you will not need to worry.

9 avr. 2023 17:19:53 Tomasz Kłoczko @.***>:

It may be result of latest cython upgrade

  • /usr/bin/python3 -sBm build -w --no-isolation -C=--build-option=--cythonize
  • Getting build dependencies for wheel... running egg_info creating reedsolo.egg-info writing reedsolo.egg-info/PKG-INFO writing dependency_links to reedsolo.egg-info/dependency_links.txt writing top-level names to reedsolo.egg-info/top_level.txt writing manifest file 'reedsolo.egg-info/SOURCES.txt' reading manifest file 'reedsolo.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'reedsolo.egg-info/SOURCES.txt'
  • Building wheel... Cython is installed, building creedsolo module [1/1] Cythonizing creedsolo.pyx

Error compiling Cython file:

... ^

cython:0:0: cython.cimports is not available Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(*hook_input['kwargs']) File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel return _build_backend().build_wheel(wheel_directory, config_settings, File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 413, in build_wheel return self._build_with_temp_dir(['bdist_wheel'], '.whl', File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 398, in _build_with_temp_dir self.run_setup() File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 484, in run_setup super(_BuildMetaLegacyBackend, File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 335, in run_setup exec(code, locals()) File "", line 32, in File "/usr/lib64/python3.8/site-packages/Cython/Build/Dependencies.py", line 1115, in cythonize cythonize_one(args) File "/usr/lib64/python3.8/site-packages/Cython/Build/Dependencies.py", line 1238, in cythonize_one raise CompileError(None, pyx_file) Cython.Compiler.Errors.CompileError: creedsolo.pyx

ERROR Backend subprocess exited when trying to invoke build_wheel

Here is list of installed modules in build env

Package Version


build 0.10.0 Cython 0.29.34 distro 1.8.0 exceptiongroup 1.0.0 gpg 1.19.0 iniconfig 2.0.0 installer 0.7.0 libcomps 0.1.19 packaging 23.0 pluggy 1.0.0 pyproject_hooks 1.0.0 pytest 7.3.0 python-dateutil 2.8.2 setuptools 65.6.3 six 1.16.0 tomli 2.0.1 wheel 0.40.0

— Reply to this email directly, view it on GitHub[https://github.com/tomerfiliba-org/reedsolomon/issues/63], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAIRFXR7W3J6YJUPCBXUCXLXALHRRANCNFSM6AAAAAAWYFOFZU]. You are receiving this because you are subscribed to this thread.[Image de pistage][https://github.com/notifications/beacon/AAIRFXQILFPFH6TPNEOKQ3TXALHRRA5CNFSM6AAAAAAWYFOFZWWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHGF4BX2Y.gif]

lrq3000 commented 1 year ago

Duplicate of #60, should be fixed by >=v2.0.31b1.

kloczek commented 1 year ago

OK thx. Do you have ET when it will be in next non-beta version? (stable one) 🤔 And/or what is still on outstanding list before next stable will be released?

lrq3000 commented 1 year ago

@kloczek You mean of reedsolo? Everything planned is already implemented, we are just waiting for Cython v3 stable to come out, so that Linux distros can also have it (otherwise it makes a huge mess in the supply chain to require a pre-release version of Cython). You can track Cython's team progress here: https://github.com/cython/cython/milestone/58

lrq3000 commented 1 year ago

So what I mean is that technically if you want to use reedsolo --pre, it's very fine, the API won't change for the stable release, it's just that it requires Cython >= v3.0.0b2, so you need to check if your own project is a dependency of others, it won't make an issue for them downstream.