The quick start documentation on the site does not list python3-dev in the "install dependencies" step for Ubuntu. On a fresh Ubuntu 24.04 install it fails at the step "Install certbot" with the following error:
Building wheel for python-augeas (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for python-augeas (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [19 lines of output]
/tmp/pip-build-env-nng8r_ot/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-312/augeas
copying augeas/ffi.py -> build/lib.linux-x86_64-cpython-312/augeas
copying augeas/__init__.py -> build/lib.linux-x86_64-cpython-312/augeas
running build_ext
generating cffi module 'build/temp.linux-x86_64-cpython-312/_augeas.c'
creating build/temp.linux-x86_64-cpython-312
building '_augeas' extension
creating build/temp.linux-x86_64-cpython-312/build/temp.linux-x86_64-cpython-312
x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/usr/include/libxml2 -I/opt/certbot/include -I/usr/include/python3.12 -c build/temp.linux-x86_64-cpython-312/_augeas.c -o build/temp.linux-x86_64-cpython-312/build/temp.linux-x86_64-cpython-312/_augeas.o
build/temp.linux-x86_64-cpython-312/_augeas.c:50:14: fatal error: pyconfig.h: No such file or directory
50 | # include <pyconfig.h>
| ^~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-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 python-augeas
Failed to build python-augeas
ERROR: Failed to build installable wheels for some pyproject.toml based projects (python-augeas)
Installing python3-dev fixes this error.
2 Likes
Welcome to the Let's Encrypt Community!
@certbot-devs
Bringing this to your attention.
3 Likes
Is that related to this one?
opened 08:20PM - 06 May 25 UTC
closed 11:55PM - 08 May 25 UTC
### OS
Ubuntu 24.04
### Installation method
pip
### Certbot Version
current… main version (4?)
### What happened?
I followed [the instructions from the eff website](https://certbot.eff.org/instructions?ws=apache&os=pip) to install certbot with the Apache extension.
At the fifth step I ran this command:
```sh
sudo /opt/certbot/bin/pip install certbot certbot-apache
```
And get this error:
```sh
Building wheel for python-augeas (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for python-augeas (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
/tmp/pip-build-env-ji6xvba9/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'virtual:world', not found
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-312/augeas
copying augeas/ffi.py -> build/lib.linux-x86_64-cpython-312/augeas
copying augeas/__init__.py -> build/lib.linux-x86_64-cpython-312/augeas
running build_ext
generating cffi module 'build/temp.linux-x86_64-cpython-312/_augeas.c'
creating build/temp.linux-x86_64-cpython-312
building '_augeas' extension
creating build/temp.linux-x86_64-cpython-312/build/temp.linux-x86_64-cpython-312
x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/opt/certbot/include -I/usr/include/python3.12 -c build/temp.linux-x86_64-cpython-312/_augeas.c -o build/temp.linux-x86_64-cpython-312/build/temp.linux-x86_64-cpython-312/_augeas.o
build/temp.linux-x86_64-cpython-312/_augeas.c:574:25: fatal error: augeas.h: Aucun fichier ou dossier de ce nom
574 | #include <augeas.h>
| ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
[end of output]
```
Looks like [some other people encountered the same issue](https://community.letsencrypt.org/t/certbot-pip-missing-requirement/237089).
Does the `libaugeas-dev` required now for Debian like distros?
### Expected behavior
Should have installed certbot successfully.
### Relevant log output
```shell
Collecting certbot
Using cached certbot-4.0.0-py3-none-any.whl.metadata (8.1 kB)
Collecting certbot-apache
Using cached certbot_apache-4.0.0-py3-none-any.whl.metadata (1.5 kB)
Collecting acme>=4.0.0 (from certbot)
Using cached acme-4.0.0-py3-none-any.whl.metadata (1.5 kB)
Collecting ConfigArgParse>=1.5.3 (from certbot)
Using cached ConfigArgParse-1.7-py3-none-any.whl.metadata (23 kB)
Collecting configobj>=5.0.6 (from certbot)
Using cached configobj-5.0.9-py2.py3-none-any.whl.metadata (3.2 kB)
Collecting cryptography>=43.0.0 (from certbot)
Using cached cryptography-44.0.3-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
Collecting distro>=1.0.1 (from certbot)
Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)
Collecting josepy>=2.0.0 (from certbot)
Using cached josepy-2.0.0-py3-none-any.whl.metadata (1.6 kB)
Collecting parsedatetime>=2.4 (from certbot)
Using cached parsedatetime-2.6-py3-none-any.whl.metadata (4.7 kB)
Collecting pyrfc3339 (from certbot)
Using cached pyRFC3339-2.0.1-py3-none-any.whl.metadata (2.1 kB)
Collecting pytz>=2019.3 (from certbot)
Using cached pytz-2025.2-py2.py3-none-any.whl.metadata (22 kB)
Collecting python-augeas (from certbot-apache)
Using cached python-augeas-1.2.0.tar.gz (99 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Collecting PyOpenSSL>=25.0.0 (from acme>=4.0.0->certbot)
Using cached pyOpenSSL-25.0.0-py3-none-any.whl.metadata (16 kB)
Collecting requests>=2.20.0 (from acme>=4.0.0->certbot)
Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting cffi>=1.12 (from cryptography>=43.0.0->certbot)
Using cached cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
Collecting pycparser (from cffi>=1.12->cryptography>=43.0.0->certbot)
Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
Collecting typing-extensions>=4.9 (from PyOpenSSL>=25.0.0->acme>=4.0.0->certbot)
Using cached typing_extensions-4.13.2-py3-none-any.whl.metadata (3.0 kB)
Collecting charset-normalizer<4,>=2 (from requests>=2.20.0->acme>=4.0.0->certbot)
Using cached charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
Collecting idna<4,>=2.5 (from requests>=2.20.0->acme>=4.0.0->certbot)
Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests>=2.20.0->acme>=4.0.0->certbot)
Using cached urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests>=2.20.0->acme>=4.0.0->certbot)
Using cached certifi-2025.4.26-py3-none-any.whl.metadata (2.5 kB)
Using cached certbot-4.0.0-py3-none-any.whl (407 kB)
Using cached certbot_apache-4.0.0-py3-none-any.whl (269 kB)
Using cached acme-4.0.0-py3-none-any.whl (96 kB)
Using cached ConfigArgParse-1.7-py3-none-any.whl (25 kB)
Using cached configobj-5.0.9-py2.py3-none-any.whl (35 kB)
Using cached cryptography-44.0.3-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)
Using cached cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479 kB)
Using cached distro-1.9.0-py3-none-any.whl (20 kB)
Using cached josepy-2.0.0-py3-none-any.whl (28 kB)
Using cached parsedatetime-2.6-py3-none-any.whl (42 kB)
Using cached pyOpenSSL-25.0.0-py3-none-any.whl (56 kB)
Using cached pytz-2025.2-py2.py3-none-any.whl (509 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (148 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached urllib3-2.4.0-py3-none-any.whl (128 kB)
Using cached certifi-2025.4.26-py3-none-any.whl (159 kB)
Using cached typing_extensions-4.13.2-py3-none-any.whl (45 kB)
Using cached pycparser-2.22-py3-none-any.whl (117 kB)
Using cached pyRFC3339-2.0.1-py3-none-any.whl (5.8 kB)
Building wheels for collected packages: python-augeas
Building wheel for python-augeas (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for python-augeas (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [23 lines of output]
/tmp/pip-build-env-ji6xvba9/overlay/lib/python3.12/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite'
warnings.warn(msg)
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'virtual:world', not found
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-312/augeas
copying augeas/ffi.py -> build/lib.linux-x86_64-cpython-312/augeas
copying augeas/__init__.py -> build/lib.linux-x86_64-cpython-312/augeas
running build_ext
generating cffi module 'build/temp.linux-x86_64-cpython-312/_augeas.c'
creating build/temp.linux-x86_64-cpython-312
building '_augeas' extension
creating build/temp.linux-x86_64-cpython-312/build/temp.linux-x86_64-cpython-312
x86_64-linux-gnu-gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -fPIC -I/opt/certbot/include -I/usr/include/python3.12 -c build/temp.linux-x86_64-cpython-312/_augeas.c -o build/temp.linux-x86_64-cpython-312/build/temp.linux-x86_64-cpython-312/_augeas.o
build/temp.linux-x86_64-cpython-312/_augeas.c:574:25: fatal error: augeas.h: Aucun fichier ou dossier de ce nom
574 | #include <augeas.h>
| ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/x86_64-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 python-augeas
Failed to build python-augeas
ERROR: Failed to build installable wheels for some pyproject.toml based projects (python-augeas)
```
2 Likes
That is about libaugeas-dev, whereas I needed python3-dev (which someone commented on at the end of the bug, it's a separate issue.)
1 Like
Fair enough. I am not a Certbot pip packaging expert
You might be better off posting at the EFF github rather than here. Their devs check that more frequently than here it seems.
The Site Feedback section you posted in is for Let's Encrypt website feedback. Not so much for EFF's Certbot. Easy to not know the difference. I do think you'd be better off posting there.
3 Likes
Thank you, we are on it. Will create an issue and amend.
6 Likes
Much appreciated, thanks!
2 Likes