Install of latest version fails in Ubuntu 22.04 (latest LTS)
GamerBene19 opened this issue · 3 comments
When I try to install the latest version of paperless (1.17). The install fails with
Error log
stdout:
Looking in indexes: https://pypi.python.org/simple, https://www.piwheels.org/simple
Ignoring backports.zoneinfo: markers 'python_version < \"3.9\"' don't match your environment
Ignoring importlib-resources: markers 'python_version < \"3.9\"' don't match your environment
Ignoring typing-extensions: markers 'python_version < \"3.10\"' don't match your environment
Ignoring zipp: markers 'python_version < \"3.10\"' don't match your environment
Collecting amqp==5.1.1 (from -r /opt/paperless-ngx/requirements.txt (line 3))
Downloading https://www.piwheels.org/simple/amqp/amqp-5.1.1-py3-none-any.whl (50 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.8/50.8 kB 596.0 kB/s eta 0:00:00
Collecting anyio==3.7.1 (from -r /opt/paperless-ngx/requirements.txt (line 4))
Downloading https://www.piwheels.org/simple/anyio/anyio-3.7.1-py3-none-any.whl (80 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.9/80.9 kB 847.8 kB/s eta 0:00:00
Collecting asgiref==3.7.2 (from -r /opt/paperless-ngx/requirements.txt (line 5))
Downloading https://www.piwheels.org/simple/asgiref/asgiref-3.7.2-py3-none-any.whl (24 kB)
Collecting async-timeout==4.0.2 (from -r /opt/paperless-ngx/requirements.txt (line 6))
Downloading https://www.piwheels.org/simple/async-timeout/async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting billiard==4.1.0 (from -r /opt/paperless-ngx/requirements.txt (line 8))
Downloading https://www.piwheels.org/simple/billiard/billiard-4.1.0-py3-none-any.whl (86 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 86.7/86.7 kB 913.5 kB/s eta 0:00:00
Collecting bleach==6.0.0 (from -r /opt/paperless-ngx/requirements.txt (line 9))
Downloading https://www.piwheels.org/simple/bleach/bleach-6.0.0-py3-none-any.whl (162 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 162.5/162.5 kB 1.7 MB/s eta 0:00:00
Collecting brotli==1.0.9 (from -r /opt/paperless-ngx/requirements.txt (line 10))
Downloading Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 7.6 MB/s eta 0:00:00
Collecting celery[redis]==5.3.1 (from -r /opt/paperless-ngx/requirements.txt (line 11))
Downloading https://www.piwheels.org/simple/celery/celery-5.3.1-py3-none-any.whl (418 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 418.0/418.0 kB 4.3 MB/s eta 0:00:00
Collecting certifi==2023.7.22 (from -r /opt/paperless-ngx/requirements.txt (line 12))
Downloading https://www.piwheels.org/simple/certifi/certifi-2023.7.22-py3-none-any.whl (158 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.3/158.3 kB 925.9 kB/s eta 0:00:00
Collecting cffi==1.15.1 (from -r /opt/paperless-ngx/requirements.txt (line 13))
Downloading cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (441 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 441.8/441.8 kB 5.9 MB/s eta 0:00:00
Collecting channels==4.0.0 (from -r /opt/paperless-ngx/requirements.txt (line 14))
Downloading https://www.piwheels.org/simple/channels/channels-4.0.0-py3-none-any.whl (28 kB)
Collecting channels-redis==4.1.0 (from -r /opt/paperless-ngx/requirements.txt (line 15))
Downloading https://www.piwheels.org/simple/channels-redis/channels_redis-4.1.0-py3-none-any.whl (18 kB)
Collecting charset-normalizer==3.2.0 (from -r /opt/paperless-ngx/requirements.txt (line 16))
Obtaining dependency information for charset-normalizer==3.2.0 from https://files.pythonhosted.org/packages/a4/65/057bf29660aae6ade0816457f8db4e749e5c0bfa2366eb5f67db9912fa4c/charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Downloading charset_normalizer-3.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (31 kB)
Collecting click==8.1.6 (from -r /opt/paperless-ngx/requirements.txt (line 17))
Downloading https://www.piwheels.org/simple/click/click-8.1.6-py3-none-any.whl (97 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.9/97.9 kB 505.6 kB/s eta 0:00:00
Collecting click-didyoumean==0.3.0 (from -r /opt/paperless-ngx/requirements.txt (line 18))
Downloading https://www.piwheels.org/simple/click-didyoumean/click_didyoumean-0.3.0-py3-none-any.whl (2.7 kB)
Collecting click-plugins==1.1.1 (from -r /opt/paperless-ngx/requirements.txt (line 19))
Downloading https://www.piwheels.org/simple/click-plugins/click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
Collecting click-repl==0.3.0 (from -r /opt/paperless-ngx/requirements.txt (line 20))
Downloading https://www.piwheels.org/simple/click-repl/click_repl-0.3.0-py3-none-any.whl (10 kB)
Collecting coloredlogs==15.0.1 (from -r /opt/paperless-ngx/requirements.txt (line 21))
Downloading https://www.piwheels.org/simple/coloredlogs/coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.0/46.0 kB 434.6 kB/s eta 0:00:00
Collecting concurrent-log-handler==0.9.24 (from -r /opt/paperless-ngx/requirements.txt (line 22))
Downloading https://www.piwheels.org/simple/concurrent-log-handler/concurrent_log_handler-0.9.24-py3-none-any.whl (24 kB)
Collecting cryptography==40.0.1 (from -r /opt/paperless-ngx/requirements.txt (line 23))
Downloading cryptography-40.0.1-cp36-abi3-manylinux_2_28_x86_64.whl (3.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 11.8 MB/s eta 0:00:00
Collecting dateparser==1.1.8 (from -r /opt/paperless-ngx/requirements.txt (line 24))
Downloading https://www.piwheels.org/simple/dateparser/dateparser-1.1.8-py2.py3-none-any.whl (293 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 293.8/293.8 kB 3.7 MB/s eta 0:00:00
Collecting deprecation==2.1.0 (from -r /opt/paperless-ngx/requirements.txt (line 25))
Downloading https://www.piwheels.org/simple/deprecation/deprecation-2.1.0-py2.py3-none-any.whl (11 kB)
Collecting django==4.1.10 (from -r /opt/paperless-ngx/requirements.txt (line 26))
Downloading https://www.piwheels.org/simple/django/Django-4.1.10-py3-none-any.whl (8.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.1/8.1 MB 8.9 MB/s eta 0:00:00
Collecting django-celery-results==2.5.1 (from -r /opt/paperless-ngx/requirements.txt (line 27))
Downloading https://www.piwheels.org/simple/django-celery-results/django_celery_results-2.5.1-py3-none-any.whl (36 kB)
Collecting django-compression-middleware==0.5.0 (from -r /opt/paperless-ngx/requirements.txt (line 28))
Downloading https://www.piwheels.org/simple/django-compression-middleware/django_compression_middleware-0.5.0-py2.py3-none-any.whl (8.2 kB)
Collecting django-cors-headers==4.2.0 (from -r /opt/paperless-ngx/requirements.txt (line 29))
Downloading https://www.piwheels.org/simple/django-cors-headers/django_cors_headers-4.2.0-py3-none-any.whl (12 kB)
Collecting django-extensions==3.2.3 (from -r /opt/paperless-ngx/requirements.txt (line 30))
Downloading https://www.piwheels.org/simple/django-extensions/django_extensions-3.2.3-py3-none-any.whl (229 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.9/229.9 kB 3.2 MB/s eta 0:00:00
Collecting django-filter==23.2 (from -r /opt/paperless-ngx/requirements.txt (line 31))
Downloading https://www.piwheels.org/simple/django-filter/django_filter-23.2-py3-none-any.whl (91 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 91.9/91.9 kB 1.0 MB/s eta 0:00:00
Collecting django-guardian==2.4.0 (from -r /opt/paperless-ngx/requirements.txt (line 32))
Downloading https://www.piwheels.org/simple/django-guardian/django_guardian-2.4.0-py3-none-any.whl (106 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 106.1/106.1 kB 10.3 MB/s eta 0:00:00
Collecting djangorestframework==3.14.0 (from -r /opt/paperless-ngx/requirements.txt (line 33))
Downloading https://www.piwheels.org/simple/djangorestframework/djangorestframework-3.14.0-py3-none-any.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 5.9 MB/s eta 0:00:00
Collecting djangorestframework-guardian==0.3.0 (from -r /opt/paperless-ngx/requirements.txt (line 34))
Downloading https://www.piwheels.org/simple/djangorestframework-guardian/djangorestframework_guardian-0.3.0-py2.py3-none-any.whl (6.9 kB)
Collecting exceptiongroup==1.1.2 (from -r /opt/paperless-ngx/requirements.txt (line 35))
Downloading https://www.piwheels.org/simple/exceptiongroup/exceptiongroup-1.1.2-py3-none-any.whl (14 kB)
Collecting filelock==3.12.2 (from -r /opt/paperless-ngx/requirements.txt (line 36))
Downloading https://www.piwheels.org/simple/filelock/filelock-3.12.2-py3-none-any.whl (10 kB)
Collecting flower==2.0.0 (from -r /opt/paperless-ngx/requirements.txt (line 37))
Downloading https://www.piwheels.org/simple/flower/flower-2.0.0-py2.py3-none-any.whl (383 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 383.5/383.5 kB 12.2 MB/s eta 0:00:00
Collecting gunicorn==21.2.0 (from -r /opt/paperless-ngx/requirements.txt (line 38))
Downloading https://www.piwheels.org/simple/gunicorn/gunicorn-21.2.0-py3-none-any.whl (80 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.2/80.2 kB 9.9 MB/s eta 0:00:00
Collecting h11==0.14.0 (from -r /opt/paperless-ngx/requirements.txt (line 39))
Downloading https://www.piwheels.org/simple/h11/h11-0.14.0-py3-none-any.whl (58 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 kB 6.6 MB/s eta 0:00:00
Collecting hiredis==2.2.3 (from -r /opt/paperless-ngx/requirements.txt (line 40))
Downloading hiredis-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (165 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 165.9/165.9 kB 16.3 MB/s eta 0:00:00
Collecting httpcore==0.17.3 (from -r /opt/paperless-ngx/requirements.txt (line 41))
Downloading https://www.piwheels.org/simple/httpcore/httpcore-0.17.3-py3-none-any.whl (74 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.5/74.5 kB 6.8 MB/s eta 0:00:00
Collecting httptools==0.6.0 (from -r /opt/paperless-ngx/requirements.txt (line 42))
Obtaining dependency information for httptools==0.6.0 from https://files.pythonhosted.org/packages/cf/09/b17fbf88d5c285e7cd8162539ba6f95c778dcd47e44240aa14afd0982bb8/httptools-0.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
Downloading httptools-0.6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.6 kB)
Collecting httpx==0.24.1 (from -r /opt/paperless-ngx/requirements.txt (line 43))
Downloading https://www.piwheels.org/simple/httpx/httpx-0.24.1-py3-none-any.whl (75 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 75.4/75.4 kB 16.7 MB/s eta 0:00:00
Collecting humanfriendly==10.0 (from -r /opt/paperless-ngx/requirements.txt (line 44))
Downloading https://www.piwheels.org/simple/humanfriendly/humanfriendly-10.0-py2.py3-none-any.whl (89 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.9/89.9 kB 16.5 MB/s eta 0:00:00
Collecting humanize==4.7.0 (from -r /opt/paperless-ngx/requirements.txt (line 45))
Downloading https://www.piwheels.org/simple/humanize/humanize-4.7.0-py3-none-any.whl (113 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 113.6/113.6 kB 21.7 MB/s eta 0:00:00
Collecting idna==3.4 (from -r /opt/paperless-ngx/requirements.txt (line 46))
Downloading https://www.piwheels.org/simple/idna/idna-3.4-py3-none-any.whl (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 16.5 MB/s eta 0:00:00
Collecting imap-tools==1.1.0 (from -r /opt/paperless-ngx/requirements.txt (line 47))
Downloading https://www.piwheels.org/simple/imap-tools/imap_tools-1.1.0-py3-none-any.whl (31 kB)
Collecting img2pdf==0.4.4 (from -r /opt/paperless-ngx/requirements.txt (line 48))
Downloading https://www.piwheels.org/simple/img2pdf/img2pdf-0.4.4-py3-none-any.whl (47 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.3/47.3 kB 12.1 MB/s eta 0:00:00
Collecting inotify-simple==1.3.5 (from -r /opt/paperless-ngx/requirements.txt (line 50))
Downloading https://www.piwheels.org/simple/inotify-simple/inotify_simple-1.3.5-py3-none-any.whl (9.4 kB)
Collecting inotifyrecursive==0.3.5 (from -r /opt/paperless-ngx/requirements.txt (line 51))
Downloading https://www.piwheels.org/simple/inotifyrecursive/inotifyrecursive-0.3.5-py3-none-any.whl (8.0 kB)
Collecting joblib==1.3.1 (from -r /opt/paperless-ngx/requirements.txt (line 52))
Downloading https://www.piwheels.org/simple/joblib/joblib-1.3.1-py3-none-any.whl (301 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 302.0/302.0 kB 11.6 MB/s eta 0:00:00
Collecting kombu==5.3.1 (from -r /opt/paperless-ngx/requirements.txt (line 53))
Downloading https://www.piwheels.org/simple/kombu/kombu-5.3.1-py3-none-any.whl (198 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 198.5/198.5 kB 11.8 MB/s eta 0:00:00
Collecting langdetect==1.0.9 (from -r /opt/paperless-ngx/requirements.txt (line 54))
Downloading https://www.piwheels.org/simple/langdetect/langdetect-1.0.9-py3-none-any.whl (994 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 994.5/994.5 kB 12.1 MB/s eta 0:00:00
Collecting lxml==4.9.3 (from -r /opt/paperless-ngx/requirements.txt (line 55))
Obtaining dependency information for lxml==4.9.3 from https://files.pythonhosted.org/packages/3c/d2/11533f0bc47ff4d828a20cfb702f3453fe714bd5b475fcdc8cec6e6b7dcf/lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl.metadata
Downloading lxml-4.9.3-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (3.8 kB)
Collecting msgpack==1.0.5 (from -r /opt/paperless-ngx/requirements.txt (line 56))
Downloading msgpack-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (316 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 316.8/316.8 kB 19.2 MB/s eta 0:00:00
Collecting mysqlclient==2.2.0 (from -r /opt/paperless-ngx/requirements.txt (line 57))
Downloading mysqlclient-2.2.0.tar.gz (89 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.5/89.5 kB 11.4 MB/s eta 0:00:00
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'
:stderr: error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [24 lines of output]
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
Trying pkg-config --exists mysqlclient
Command 'pkg-config --exists mysqlclient' returned non-zero exit status 127.
Trying pkg-config --exists mariadb
Command 'pkg-config --exists mariadb' returned non-zero exit status 127.
Traceback (most recent call last):
File \"/opt/paperless-ngx/.venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 353, in <module>
main()
File \"/opt/paperless-ngx/.venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File \"/opt/paperless-ngx/.venv/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py\", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File \"/tmp/pip-build-env-lo3uqz9g/overlay/lib/python3.10/site-packages/setuptools/build_meta.py\", line 355, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File \"/tmp/pip-build-env-lo3uqz9g/overlay/lib/python3.10/site-packages/setuptools/build_meta.py\", line 325, in _get_build_requires
self.run_setup()
File \"/tmp/pip-build-env-lo3uqz9g/overlay/lib/python3.10/site-packages/setuptools/build_meta.py\", line 341, in run_setup
exec(code, locals())
File \"<string>\", line 154, in <module>
File \"<string>\", line 48, in get_config_posix
File \"<string>\", line 27, in find_package_name
Exception: Can not find valid pkg-config name.
Specify MYSQLCLIENT_CFLAGS and MYSQLCLIENT_LDFLAGS env vars manually
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
during "Install paperless-ngx python requirements" step. From my research it seems like mysqlclient 2.2.0 added a dependency on pkg-config.
I tried looking in this repo for the dependencies of paperless to see if I could figure out which package upgrade caused the issue, but I did not find them.
I have not tried out adding/installing pkg-config yet, but I will do so and report back once I did.
I just found out that v1.17 did bump mysqlclient to 2.2.0 (from 2.1.1)
Installing pkg-config
did the trick. I think it has to be added as a required package.
Thank you very much for reporting the issue and providing a pr. I'll check it.