Description
EDITS: Just proofreading and adding a little more context right away.
Hello, this is my first git hub post, please let me know if I can provide you additional information. I am installing papertty on a raspberry pi zero 2W. I am using the latest 64-bit raspianOS lite Kernel version: 6.6, Debian version: 12 (bookworm), from 11-19-2024. Python is version "Python 3.11.2", poetry is version 2.1 via here and papertty is version "papertty 0.1.8". I have installed part of lightdm desktop manager. If you think any of that is an issue I can provide more detail. When following the directions on GitHub I run into a few issues that I have not resolved yet. When I get to the step to run "poetry update" I get the following error.
The lock file is not compatible with the current version of Poetry. Regenerate the lock file with the "poetry lock" command.
Running "poetry lock" gives the same exact error. At this point I did a little searching and the second comment under the solution at this link suggested removing the poetry.lock file. They have potentially useful discussion of the change to poetry v2 in this discussion. So I did that, I ran the following.
$ rm poetry.lock
$ poetry lock
Updating dependencies
Resolving dependencies... (35.2s)
Writing lock file
There is actually not a new lock file. Then I ran "poetry install" again. It was a different result but I still got an error. The output is long.
$ poetry install
Installing dependencies from lock file
Package operations: 5 installs, 0 updates, 0 removals
- Installing twisted (20.3.0): Failed
PEP517 build of a dependency failed
Backend subprocess exited when trying to invoke build_wheel
NOTE from poster: The next part is a ton of dialog that I can share if you want to see but I believe is just the result of this command " | Command '['/tmp/tmpp5zyocyn/.venv/bin/python', '/home/ewriter/.local/pipx/venvs/poetry/lib/python3.11/site-packages/pyproject_hooks/_in_process/_in_process.py', 'build_wheel', '/tmp/tmpnh5ko2ug']' returned non-zero exit status 1.
"
The dialog continues after this. I tried to include what I think triggered the error
| aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/tmp/tmpp5zyocyn/.venv/include -I/usr/include/python3.11 -c src/twisted/test/raiser.c -o build/temp.linux-aarch64-cpython-311/src/twisted/test/raiser.o
| src/twisted/test/raiser.c:198:12: fatal error: longintrepr.h: No such file or directory
| 198 | #include "longintrepr.h"
| | ^~~~~~~~~~~~~~~
| compilation terminated.
| error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
Note: This error originates from the build backend, and is likely not a problem with poetry but one of the following issues with twisted (20.3.0)
- not supporting PEP 517 builds
- not specifying PEP 517 build requirements correctly
- the build requirements are incompatible with your operating system or Python version
- the build requirements are missing system dependencies (eg: compilers, libraries, headers).
You can verify this by running pip wheel --no-cache-dir --use-pep517 "twisted (==20.3.0)".
I tried its suggestion to run the command above. Here is the command and its output below. The output it really long. I am going to just give you what I think are the important bits' please let me know if you want to see more.
$ pip wheel --no-cache-dir --use-pep517 "twisted (==20.3.0)"
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting twisted==20.3.0
Downloading Twisted-20.3.0.tar.bz2 (3.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 3.3 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting zope.interface>=4.4.2
Downloading zope.interface-7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (260 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 261.0/261.0 kB 3.5 MB/s eta 0:00:00
Collecting constantly>=15.1
Downloading https://www.piwheels.org/simple/constantly/constantly-23.10.4-py3-none-any.whl (13 kB)
Collecting incremental>=16.10.1
Downloading https://www.piwheels.org/simple/incremental/incremental-24.7.2-py3-none-any.whl (20 kB)
Collecting Automat>=0.3.0
Downloading https://www.piwheels.org/simple/automat/Automat-24.8.1-py3-none-any.whl (42 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.6/42.6 kB 14.0 MB/s eta 0:00:00
Collecting hyperlink>=17.1.1
Downloading https://www.piwheels.org/simple/hyperlink/hyperlink-21.0.0-py2.py3-none-any.whl (74 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.6/74.6 kB 497.2 kB/s eta 0:00:00
Collecting PyHamcrest!=1.10.0,>=1.9.0
Downloading https://www.piwheels.org/simple/pyhamcrest/pyhamcrest-2.1.0-py3-none-any.whl (54 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.6/54.6 kB 13.0 MB/s eta 0:00:00
Collecting attrs>=19.2.0
Downloading https://www.piwheels.org/simple/attrs/attrs-25.3.0-py3-none-any.whl (63 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.8/63.8 kB 12.5 MB/s eta 0:00:00
Collecting idna>=2.5
Downloading https://www.piwheels.org/simple/idna/idna-3.10-py3-none-any.whl (70 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.4/70.4 kB 420.2 kB/s eta 0:00:00
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/setuptools/
Collecting setuptools>=61.0
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/setuptools/setuptools-78.1.0-py3-none-any.whl
Downloading https://www.piwheels.org/simple/setuptools/setuptools-78.1.0-py3-none-any.whl (1.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 1.7 MB/s eta 0:00:00
Saved ./attrs-25.3.0-py3-none-any.whl
Saved ./Automat-24.8.1-py3-none-any.whl
Saved ./constantly-23.10.4-py3-none-any.whl
Saved ./hyperlink-21.0.0-py2.py3-none-any.whl
Saved ./incremental-24.7.2-py3-none-any.whl
Saved ./pyhamcrest-2.1.0-py3-none-any.whl
Saved ./zope.interface-7.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Saved ./idna-3.10-py3-none-any.whl
Saved ./setuptools-78.1.0-py3-none-any.whl
Building wheels for collected packages: twisted
Building wheel for twisted (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for twisted (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [1075 lines of output]
NOTE - There is output I am omiting here
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*.misc' found under directory 'src/twisted'
warning: no previously-included files matching '*.bugfix' found under directory 'src/twisted'
warning: no previously-included files matching '*.doc' found under directory 'src/twisted'
warning: no previously-included files matching '*.feature' found under directory 'src/twisted'
warning: no previously-included files matching '*.removal' found under directory 'src/twisted'
warning: no previously-included files matching 'NEWS' found under directory 'src/twisted'
warning: no previously-included files matching 'README' found under directory 'src/twisted'
warning: no previously-included files matching 'newsfragments' found under directory 'src/twisted'
warning: no previously-included files found matching 'src/twisted/topfiles/CREDITS'
warning: no previously-included files found matching 'src/twisted/topfiles/ChangeLog.Old'
warning: no previously-included files found matching 'pyproject.toml'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching 'appveyor.yml'
warning: no previously-included files found matching '.coveralls.yml'
warning: no previously-included files found matching '.circleci'
warning: no previously-included files matching '*' found under directory '.circleci'
no previously-included directories found matching 'bin'
no previously-included directories found matching 'admin'
no previously-included directories found matching '.travis'
no previously-included directories found matching '.github'
warning: no previously-included files found matching 'docs/historic/2003'
warning: no previously-included files matching '*' found under directory 'docs/historic/2003'
adding license file 'LICENSE'
writing manifest file 'src/Twisted.egg-info/SOURCES.txt'
/tmp/pip-build-env-st7dgp85/overlay/local/lib/python3.11/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'twisted.internet.iocpreactor.iocpsupport' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'twisted.internet.iocpreactor.iocpsupport' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'twisted.internet.iocpreactor.iocpsupport' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'twisted.internet.iocpreactor.iocpsupport' to be distributed and are
already explicitly excluding 'twisted.internet.iocpreactor.iocpsupport' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/tmp/pip-build-env-st7dgp85/overlay/local/lib/python3.11/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'twisted.internet.test.fake_CAs' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'twisted.internet.test.fake_CAs' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'twisted.internet.test.fake_CAs' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'twisted.internet.test.fake_CAs' to be distributed and are
already explicitly excluding 'twisted.internet.test.fake_CAs' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
/tmp/pip-build-env-st7dgp85/overlay/local/lib/python3.11/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'twisted.python._pydoctortemplates' is absent from the `packages` configuration.
!!
********************************************************************************
############################
# Package would be ignored #
############################
Python recognizes 'twisted.python._pydoctortemplates' as an importable package[^1],
but it is absent from setuptools' `packages` configuration.
This leads to an ambiguous overall configuration. If you want to distribute this
package, please make sure that 'twisted.python._pydoctortemplates' is explicitly added
to the `packages` configuration field.
Alternatively, you can also rely on setuptools' discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
If you don't want 'twisted.python._pydoctortemplates' to be distributed and are
already explicitly excluding 'twisted.python._pydoctortemplates' via
`find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
you can try to use `exclude_package_data`, or `include-package-data=False` in
combination with a more fine grained `package-data` configuration.
You can read more about "package data files" on setuptools documentation page:
- https://setuptools.pypa.io/en/latest/userguide/datafiles.html
[^1]: For Python, any directory (with suitable naming) can be imported,
even if it does not contain any `.py` files.
On the other hand, currently there is no concept of package data
directory, all directories are treated like packages.
********************************************************************************
!!
check.warn(importable)
copying src/twisted/test/cert.pem.no_trailing_newline -> build/lib.linux-aarch64-cpython-311/twisted/test
copying src/twisted/test/key.pem.no_trailing_newline -> build/lib.linux-aarch64-cpython-311/twisted/test
copying src/twisted/test/server.pem -> build/lib.linux-aarch64-cpython-311/twisted/test
copying src/twisted/test/test_defer.py.3only -> build/lib.linux-aarch64-cpython-311/twisted/test
copying src/twisted/python/twisted-completion.zsh -> build/lib.linux-aarch64-cpython-311/twisted/python
creating build/lib.linux-aarch64-cpython-311/twisted/python/_pydoctortemplates
copying src/twisted/python/_pydoctortemplates/common.html -> build/lib.linux-aarch64-cpython-311/twisted/python/_pydoctortemplates
copying src/twisted/python/_pydoctortemplates/index.html -> build/lib.linux-aarch64-cpython-311/twisted/python/_pydoctortemplates
copying src/twisted/python/_pydoctortemplates/summary.html -> build/lib.linux-aarch64-cpython-311/twisted/python/_pydoctortemplates
copying src/twisted/mail/test/rfc822.message -> build/lib.linux-aarch64-cpython-311/twisted/mail/test
copying src/twisted/words/im/instancemessenger.glade -> build/lib.linux-aarch64-cpython-311/twisted/words/im
copying src/twisted/words/xish/xpathparser.g -> build/lib.linux-aarch64-cpython-311/twisted/words/xish
copying src/twisted/python/test/_deprecatetests.py.3only -> build/lib.linux-aarch64-cpython-311/twisted/python/test
copying src/twisted/internet/test/_awaittests.py.3only -> build/lib.linux-aarch64-cpython-311/twisted/internet/test
copying src/twisted/internet/test/_yieldfromtests.py.3only -> build/lib.linux-aarch64-cpython-311/twisted/internet/test
creating build/lib.linux-aarch64-cpython-311/twisted/internet/test/fake_CAs
copying src/twisted/internet/test/fake_CAs/chain.pem -> build/lib.linux-aarch64-cpython-311/twisted/internet/test/fake_CAs
copying src/twisted/internet/test/fake_CAs/not-a-certificate -> build/lib.linux-aarch64-cpython-311/twisted/internet/test/fake_CAs
copying src/twisted/internet/test/fake_CAs/thing1.pem -> build/lib.linux-aarch64-cpython-311/twisted/internet/test/fake_CAs
copying src/twisted/internet/test/fake_CAs/thing2-duplicate.pem -> build/lib.linux-aarch64-cpython-311/twisted/internet/test/fake_CAs
copying src/twisted/internet/test/fake_CAs/thing2.pem -> build/lib.linux-aarch64-cpython-311/twisted/internet/test/fake_CAs
copying src/twisted/internet/iocpreactor/notes.txt -> build/lib.linux-aarch64-cpython-311/twisted/internet/iocpreactor
copying src/twisted/trial/test/_assertiontests.py.3only -> build/lib.linux-aarch64-cpython-311/twisted/trial/test
running build_ext
building 'twisted.test.raiser' extension
creating build/temp.linux-aarch64-cpython-311/src/twisted/test
aarch64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/python3.11 -c src/twisted/test/raiser.c -o build/temp.linux-aarch64-cpython-311/src/twisted/test/raiser.o
src/twisted/test/raiser.c:198:12: fatal error: longintrepr.h: No such file or directory
198 | #include "longintrepr.h"
| ^~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/aarch64-linux-gnu-gcc' 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 twisted
Failed to build twisted
ERROR: Failed to build one or more wheels
So this is where I have paused. Obviously some of this is outside the suggested steps, so I am happy to abandon it, just thought I would show what I found and tried. I also tried running update and upgrade with apt-get, and "poetry update" followed by the above workflow again after completely removing the papery directory and recloning, and I had the same results. I am not in a big rush, but please let me know if I can help more. Thank you!