MatrixEditor / caterpillar

A Python 3.12+ library to pack and unpack structured binary data.
https://matrixeditor.github.io/caterpillar/
GNU General Public License v3.0
16 stars 0 forks source link

Installation failed #12

Closed AndroidMaster24 closed 1 month ago

AndroidMaster24 commented 1 month ago

Both Python-only and C-extension failed to install. I'm using Python 3.13 on Windows 11 x64

PS H:\Github\pairipcore-vm> pip install "caterpillar[all]@git+https://github.com/MatrixEditor/caterpillar"
Collecting caterpillar@ git+https://github.com/MatrixEditor/caterpillar (from caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar)
  Cloning https://github.com/MatrixEditor/caterpillar to c:\users\xxx\appdata\local\temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7
  Running command git clone --filter=blob:none --quiet https://github.com/MatrixEditor/caterpillar 'C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7'
  Resolved https://github.com/MatrixEditor/caterpillar to commit 7d129ee69d7ffb98ab14cbfac5bed4a462e42261
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting lzallright (from caterpillar@ git+https://github.com/MatrixEditor/caterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar)
  Downloading lzallright-0.2.4-cp38-abi3-win_amd64.whl.metadata (956 bytes)
Collecting cryptography (from caterpillar@ git+https://github.com/MatrixEditor/caterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar)
  Downloading cryptography-43.0.3-cp39-abi3-win_amd64.whl.metadata (5.4 kB)
Collecting cffi>=1.12 (from cryptography->caterpillar@ git+https://github.com/MatrixEditor/caterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar)
  Downloading cffi-1.17.1-cp313-cp313-win_amd64.whl.metadata (1.6 kB)
Collecting pycparser (from cffi>=1.12->cryptography->caterpillar@ git+https://github.com/MatrixEditor/caterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar)
  Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Downloading cryptography-43.0.3-cp39-abi3-win_amd64.whl (3.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 30.5 MB/s eta 0:00:00
Downloading lzallright-0.2.4-cp38-abi3-win_amd64.whl (138 kB)
Downloading cffi-1.17.1-cp313-cp313-win_amd64.whl (182 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Building wheels for collected packages: caterpillar
  Building wheel for caterpillar (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for caterpillar (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [70 lines of output]
      *** scikit-build-core 0.10.7 using CMake 3.29.2 (wheel)
      *** Configuring CMake...
      loading initial cache file build\cp312-abi3-win_amd64\CMakeInit.txt
      -- Building for: Visual Studio 17 2022
      -- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.22631.
      -- The C compiler identification is MSVC 19.41.34123.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/cl.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Found Python: D:\Python3\python.exe (found version "3.13.0") found components: Interpreter Development.Module
      -- CMake 3.29.2
      -- Python 3.13
      -- Ignoring tools
      -- Configuring done (1.7s)
      -- Generating done (0.0s)
      -- Build files have been written to: C:/Users/xxx/AppData/Local/Temp/pip-install-s1r2rxgl/caterpillar_c4576232050041abab8b32d1d18bd6b7/build/cp312-abi3-win_amd64
      *** Building project with Visual Studio 17 2022...
      MSBuild version 17.11.9+a69bbaaf5 for .NET Framework

      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\ZERO_CHECK.vcxproj]
        1>Checking Build System
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\genapi.vcxproj]
        Generating Public Caterpillar API
        Building Custom Rule C:/Users/xxx/AppData/Local/Temp/pip-install-s1r2rxgl/caterpillar_c4576232050041abab8b32d1d18bd6b7/CMakeLists.txt
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\_C.vcxproj]
        Building Custom Rule C:/Users/xxx/AppData/Local/Temp/pip-install-s1r2rxgl/caterpillar_c4576232050041abab8b32d1d18bd6b7/CMakeLists.txt
        arch.c
        atomobj.c
        context.c
        option.c
        module.c
        state.c
        struct.c
        layer.c
        default.c
        parsing_typeof.c
        parsing_sizeof.c
        parsing_pack.c
        parsing_unpack.c
        int.c
        float.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\src\ccaterpillar\atomimpl\int.c(129,13): error C2198: 'int _PyLong_AsByteArray(PyLongObject *,unsigned char *,size_t,int,int,int)': too few arguments for call [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\_C.vcxproj]
        bool.c
        char.c
        pad.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\src\ccaterpillar\atomimpl\pad.c(10,10): error C2065: '_PyNone_Type': undeclared identifier [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\_C.vcxproj]
        string.c
        const.c
        Generating Code...
        Compiling...
        bytes.c
        pstring.c
        enum.c
        varint.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\src\ccaterpillar\atomimpl\varint.c(177,13): error C2198: 'int _PyLong_AsByteArray(PyLongObject *,unsigned char *,size_t,int,int,int)': too few arguments for call [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\_C.vcxproj]
        computed.c
        lazy.c
        cstring.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\src\ccaterpillar\atomimpl\cstring.c(269,5): warning C4312: 'type cast': conversion from 'int' to 'PyObject *' of greater size [C:\Users\xxx\AppData\Local\Temp\pip-install-s1r2rxgl\caterpillar_c4576232050041abab8b32d1d18bd6b7\build\cp312-abi3-win_amd64\_C.vcxproj]
        builtin.c
        repeated.c
        condition.c
        switch.c
        atoffset.c
        primitive.c
        Generating Code...

      *** CMake build failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for caterpillar
Failed to build caterpillar
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (caterpillar)
PS H:\Github\pairipcore-vm> pip install "caterpillar[all]@git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar"
Collecting caterpillar@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar (from caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar)
  Cloning https://github.com/MatrixEditor/caterpillar/ to c:\users\xxx\appdata\local\temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71
  Running command git clone --filter=blob:none --quiet https://github.com/MatrixEditor/caterpillar/ 'C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71'
  Resolved https://github.com/MatrixEditor/caterpillar/ to commit 7d129ee69d7ffb98ab14cbfac5bed4a462e42261
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting lzallright (from caterpillar@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar)
  Using cached lzallright-0.2.4-cp38-abi3-win_amd64.whl.metadata (956 bytes)
Collecting cryptography (from caterpillar@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar)
  Using cached cryptography-43.0.3-cp39-abi3-win_amd64.whl.metadata (5.4 kB)
Collecting cffi>=1.12 (from cryptography->caterpillar@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar)
  Using cached cffi-1.17.1-cp313-cp313-win_amd64.whl.metadata (1.6 kB)
Collecting pycparser (from cffi>=1.12->cryptography->caterpillar@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar->caterpillar[all]@ git+https://github.com/MatrixEditor/caterpillar/#subdirectory=src/ccaterpillar)
  Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Using cached cryptography-43.0.3-cp39-abi3-win_amd64.whl (3.1 MB)
Using cached lzallright-0.2.4-cp38-abi3-win_amd64.whl (138 kB)
Using cached cffi-1.17.1-cp313-cp313-win_amd64.whl (182 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Building wheels for collected packages: caterpillar
  Building wheel for caterpillar (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for caterpillar (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [77 lines of output]
      *** scikit-build-core 0.10.7 using CMake 3.29.2 (wheel)
      2024-10-22 10:32:02,960 - scikit_build_core - WARNING - No license files found, set wheel.license-files to [] to suppress this warning
      *** Configuring CMake...
      loading initial cache file build\cp312-abi3-win_amd64\CMakeInit.txt
      -- Building for: Visual Studio 17 2022
      -- Selecting Windows SDK version 10.0.26100.0 to target Windows 10.0.22631.
      -- The C compiler identification is MSVC 19.41.34123.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/cl.exe - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Found Python: D:\Python3\python.exe (found version "3.13.0") found components: Interpreter Development.Module
      -- CMake 3.29.2
      -- Python 3.13
      -- Ignoring tools
      -- Configuring done (1.6s)
      -- Generating done (0.0s)
      CMake Warning:
        Manually-specified variables were not used by the project:

          CP_ENABLE_NATIVE

      -- Build files have been written to: C:/Users/xxx/AppData/Local/Temp/pip-install-ygdri81p/caterpillar_c159700649984a05acad2160bf217d71/src/ccaterpillar/build/cp312-abi3-win_amd64
      *** Building project with Visual Studio 17 2022...
      MSBuild version 17.11.9+a69bbaaf5 for .NET Framework

      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\ZERO_CHECK.vcxproj]
        1>Checking Build System
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\genapi.vcxproj]
        Generating Public Caterpillar API
        Building Custom Rule C:/Users/xxx/AppData/Local/Temp/pip-install-ygdri81p/caterpillar_c159700649984a05acad2160bf217d71/CMakeLists.txt
      C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(541,5): warning MSB8029: The Intermediate directory or Output directory cannot reside under the Temporary directory as it could lead to issues with incremental build. [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\_C.vcxproj]
        Building Custom Rule C:/Users/xxx/AppData/Local/Temp/pip-install-ygdri81p/caterpillar_c159700649984a05acad2160bf217d71/CMakeLists.txt
        arch.c
        atomobj.c
        context.c
        option.c
        module.c
        state.c
        struct.c
        layer.c
        default.c
        parsing_typeof.c
        parsing_sizeof.c
        parsing_pack.c
        parsing_unpack.c
        int.c
        float.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\atomimpl\int.c(129,13): error C2198: 'int _PyLong_AsByteArray(PyLongObject *,unsigned char *,size_t,int,int,int)': too few arguments for call [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\_C.vcxproj]
        bool.c
        char.c
        pad.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\atomimpl\pad.c(10,10): error C2065: '_PyNone_Type': undeclared identifier [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\_C.vcxproj]
        string.c
        const.c
        Generating Code...
        Compiling...
        bytes.c
        pstring.c
        enum.c
        varint.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\atomimpl\varint.c(177,13): error C2198: 'int _PyLong_AsByteArray(PyLongObject *,unsigned char *,size_t,int,int,int)': too few arguments for call [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\_C.vcxproj]
        computed.c
        lazy.c
        cstring.c
      C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\atomimpl\cstring.c(269,5): warning C4312: 'type cast': conversion from 'int' to 'PyObject *' of greater size [C:\Users\xxx\AppData\Local\Temp\pip-install-ygdri81p\caterpillar_c159700649984a05acad2160bf217d71\src\ccaterpillar\build\cp312-abi3-win_amd64\_C.vcxproj]
        builtin.c
        repeated.c
        condition.c
        switch.c
        atoffset.c
        primitive.c
        Generating Code...

      *** CMake build failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for caterpillar
Failed to build caterpillar
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (caterpillar)
PS H:\Github\pairipcore-vm>
MatrixEditor commented 1 month ago

It seems like there is an issue with the CMakeLists.txt configuration -> I will try to fix that as soon as possible. The library should work just fine on Linux if the python developer API is installed.

MatrixEditor commented 1 month ago

Should be fixed with version 2.2.1