Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fail to build on win x64 #1

Open
FinBird opened this issue Mar 10, 2023 · 1 comment · May be fixed by #2
Open

Fail to build on win x64 #1

FinBird opened this issue Mar 10, 2023 · 1 comment · May be fixed by #2

Comments

@FinBird
Copy link

FinBird commented Mar 10, 2023

Thank you for providing another choice to parse binaru data!
I am using Windows 10 x64 laptop.
When I install binaryreader on Python 3.9 x86, everything all right, but when I try to do this on the same laptop in Python 3.11 x64, errors occur.I am not familiar with C extension, but I believe its about the missing defination of _PyFloat_Unpack2 and type conversation.
Any idea to solve it? thk

Windows10 x64: Python 3.9.1 x86

C:\Users\Finbird>pip install binaryreader

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting binaryreader
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b5/24/895de69bf227baede70f73be3eb7c31ab64100267f0b226a5f012f4b8838/binaryreader-0.1.4-cp39-cp39-win32.whl (12 kB)
Installing collected packages: binaryreader
Successfully installed binaryreader-0.1.4

Windows10 x64: Python 3.11.2 x64

C:\Users\Finbird>cd /d D:\python3.11.2\

D:\python3.11.2>D:\python3.11.2\Scripts\pip3.11.exe install binaryreader
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting binaryreader
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/e2/4c/97f324dc1a396ec69b4c9f1cedf287405ca1ac7882ade751df6487a819c8/binaryreader-0.1.4.tar.gz (8.3 kB)
  Preparing metadata (setup.py) ... done
Installing collected packages: binaryreader
  DEPRECATION: binaryreader is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for binaryreader ... error
  error: subprocess-exited-with-error

  × Running setup.py install for binaryreader did not run successfully.
  │ exit code: 1
  ╰─> [21 lines of output]
      running install
      D:\python3.11.2\Lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_ext
      building 'binaryreader' extension
      creating build
      creating build\temp.win-amd64-cpython-311
      creating build\temp.win-amd64-cpython-311\Release
      "D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -ID:\python3.11.2\include -ID:\python3.11.2\Include "-ID:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\include" "-ID:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include" "-ID:\Windows Kits\10\include\10.0.19041.0\ucrt" "-ID:\Windows Kits\10\\include\10.0.19041.0\\um" "-ID:\Windows Kits\10\\include\10.0.19041.0\\shared" "-ID:\Windows Kits\10\\include\10.0.19041.0\\winrt" "-ID:\Windows Kits\10\\include\10.0.19041.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\include\um" /Tcbinaryreader.c /Fobuild\temp.win-amd64-cpython-311\Release\binaryreader.obj -std=c11
      cl: cmdline warning D9002 :ignoring unknown option“-std=c11”
      binaryreader.c
      binaryreader.c(101): warning C4047: “return”:“int” and “void *” differs in levels of indirection
      binaryreader.c(266): warning C4047: “return”:“int” and “void *” differs in levels of indirection
      binaryreader.c(361): warning C4013: “_PyFloat_Unpack2”undefined; assuming extern returning int
      creating C:\Users\Finbird\AppData\Local\Temp\pip-install-7v4sem14\binaryreader_15a4d671f0754d9e9934eae2cfea597e\build\lib.win-amd64-cpython-311
      "D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX86\x64\link.exe" /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:D:\python3.11.2\libs /LIBPATH:D:\python3.11.2 /LIBPATH:D:\python3.11.2\PCbuild\amd64 "/LIBPATH:D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\lib\um\x64" "/LIBPATH:D:\Windows Kits\10\lib\10.0.19041.0\ucrt\x64" "/LIBPATH:D:\Windows Kits\10\\lib\10.0.19041.0\\um\x64" /EXPORT:PyInit_binaryreader build\temp.win-amd64-cpython-311\Release\binaryreader.obj /OUT:build\lib.win-amd64-cpython-311\binaryreader.cp311-win_amd64.pyd /IMPLIB:build\temp.win-amd64-cpython-311\Release\binaryreader.cp311-win_amd64.lib
        building library build\temp.win-amd64-cpython-311\Release\binaryreader.cp311-win_amd64.lib and obj build\temp.win-amd64-cpython-311\Release\binaryreader.cp311-win_amd64.exp
      binaryreader.obj : error LNK2001: unresolved external symbol  _PyFloat_Unpack2
      build\lib.win-amd64-cpython-311\binaryreader.cp311-win_amd64.pyd : fatal error LNK1120: 1 unresolved external symbol 
      error: command 'D:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.33.31629\\bin\\HostX86\\x64\\link.exe' failed with exit code 1120
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> binaryreader

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure
@K0lb3
Copy link
Owner

K0lb3 commented Jun 1, 2023

Python 3.11 came with a lot of breaking changes on the C-backend,
and looks like the half-unpacking is affected by it as well.
In the best case they just renamed it, then fixing it will be relatively easy,
otherwise, it will be a bit troublesome.

@K0lb3 K0lb3 linked a pull request Jun 1, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants