pylcs depends on a relatively old version of C++, which in turn relies on certain deprecated headers. For newer versions of C++, the dependency will cause a failed wheel build:
Building wheel for pylcs (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pylcs (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [21 lines of output]
running bdist_wheel
running build
running build_py
creating build/lib.macosx-10.13-x86_64-cpython-312/pylcs
copying pylcs/__init__.py -> build/lib.macosx-10.13-x86_64-cpython-312/pylcs
running build_ext
creating var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T
clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /Users/<USER>/.micromamba/envs/err/include -fPIC -O2 -isystem /Users/<USER>/.micromamba/envs/err/include -I/Users/<USER>/.micromamba/envs/err/include/python3.12 -c /var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/tmpnh1r0yi6.cpp -o var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/tmpnh1r0yi6.o -std=c++14
clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /Users/<USER>/.micromamba/envs/err/include -fPIC -O2 -isystem /Users/<USER>/.micromamba/envs/err/include -I/Users/<USER>/.micromamba/envs/err/include/python3.12 -c /var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/tmparoys27r.cpp -o var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/tmparoys27r.o -fvisibility=hidden
building '_pylcs' extension
creating build/temp.macosx-10.13-x86_64-cpython-312/src
clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /Users/<USER>/.micromamba/envs/err/include -fPIC -O2 -isystem /Users/<USER>/.micromamba/envs/err/include -I/private/var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/pip-build-env-z059g6n8/overlay/lib/python3.12/site-packages/pybind11/include -I/private/var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/pip-build-env-z059g6n8/overlay/lib/python3.12/site-packages/pybind11/include -I/Users/<USER>/.micromamba/envs/err/include/python3.12 -c src/main.cpp -o build/temp.macosx-10.13-x86_64-cpython-312/src/main.o -stdlib=libc++ -mmacosx-version-min=10.7 -DVERSION_INFO=\"0.1.1\" -std=c++14 -fvisibility=hidden
In file included from src/main.cpp:1:
In file included from /private/var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/pip-build-env-z059g6n8/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/pybind11.h:12:
In file included from /private/var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/pip-build-env-z059g6n8/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/detail/class.h:12:
In file included from /private/var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/pip-build-env-z059g6n8/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/attr.h:13:
/private/var/folders/h7/tzxfms7d2z7gwlgtbvw15msc0000gn/T/pip-build-env-z059g6n8/overlay/lib/python3.12/site-packages/pybind11/include/pybind11/detail/common.h:314:10: fatal error: 'cstddef' file not found
314 | #include <cstddef>
| ^~~~~~~~~
1 error generated.
error: command '/usr/bin/clang++' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pylcs
Failed to build pylcs
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pylcs)
Normally I would open an issue with pylcs (or resign myself to using a specific C++), but it also seems like this is a residual dependency in vec2text. For example:
grep -r "pylcs" vec2text/*
vec2text/requirements.txt:9:pylcs
Am I missing something here, or can I safely drop pylcs from requirements.txt and move on?
Thanks so much for all this work. It's a fascinating project!
A quick follow-up: pylcs is introduced with 49aa4c84358e992b4970f050ddd17c944d459241. Unless there is some backdoor dependency I am missing, nothing in that commit appears to use the package
pylcs
depends on a relatively old version of C++, which in turn relies on certain deprecated headers. For newer versions of C++, the dependency will cause a failed wheel build:Normally I would open an issue with
pylcs
(or resign myself to using a specific C++), but it also seems like this is a residual dependency invec2text
. For example:Am I missing something here, or can I safely drop
pylcs
fromrequirements.txt
and move on?Thanks so much for all this work. It's a fascinating project!