flier / pyfasthash

Python Non-cryptographic Hash Library
Apache License 2.0
281 stars 52 forks source link

pyhash install failes with compilation error in fnv.h #61

Closed miserable-variable closed 2 years ago

miserable-variable commented 2 years ago

There are other issues posted related to installing but this case does not seem to covered.

I am trying to install pyhash with pip. On Ubuntu 20.04.3 with Python 3.8 I was able to install after changing setuptools to 57.5.0 (python -m pip install 'setuptools~=57.5.0')

But on Windows 10 and Python 3.10 I get a compilation error. There are multiple questions here on SO about installing pyhash; based on this answer I made the following changes:

python -m pip install 'setuptools~=57.5.0' $env:PYTHON_HOME='C:\Users\I063510\AppData\Local\Programs\Python\Python310' pip install wheel Now I get warning and errors as follows :

C:\Users\USERID\AppData\Local\Programs\Python\Python310\lib\site-packages\setuptools\lib2to3_ex.py:36: SetuptoolsDeprecationWarning: 2to3 support is deprecated. If the project still requires Python 2 support, please migrate to a single-codebase solution or employ an independent conversion process.

I don't care about Python 2 so this in not an issue, but I don't know how to disable it.

This error aborts the installation:

` C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt -IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt /Tcsrc/fnv/hash_32.c /Fobuild\temp.win-amd64-3.10\src/fnv/hash_32.obj hash_32.c

C:\Users\USERID\AppData\Local\Temp\pip-install-uggpm5x9\pyhash_c9711392a4754ec3bd781c4d8eac992d\src\fnv\fnv.h(91): error C2061: syntax error: identifier 'Fnv32_t' C:\Users\USERID\AppData\Local\Temp\pip-install-uggpm5x9\pyhash_c9711392a4754ec3bd781c4d8eac992d\src\fnv\fnv.h(91): error C2059: syntax error: ';' ` It seems the files are removed by pip so I am not able to view or attach fnv.h

miserable-variable commented 2 years ago

This is no longer critical for me as I found another fast and stable hash