I am trying to create a EE using ansible-builder for my AAP environment. Here is the error iβm getting:
[user@ansible01 example_server_team_ee]$ ansible-builder build -v 3 --no-cache -t localhost/example_server_team_ee:latest --build-arg http_proxy="http://1.2.3.4:8080" --build-arg no_proxy="localhost,127.0.0.1,::1,.example.com" --build-arg PIP_INDEX_URL="http://nexus.example.com/repository/pypi-proxy/simple" --build-arg PIP_TRUSTED_HOST="nexus.example.com"
Ansible Builder is generating your execution environment build context.
File context/_build/requirements.yml is already up-to-date.
File context/_build/requirements.txt is already up-to-date.
File context/_build/bindep.txt is already up-to-date.
Creating context/_build/configs
File context/_build/configs/pip.conf is already up-to-date.
File context/_build/scripts/assemble is already up-to-date.
File context/_build/scripts/install-from-bindep is already up-to-date.
File context/_build/scripts/introspect.py is already up-to-date.
File context/_build/scripts/check_galaxy is already up-to-date.
File context/_build/scripts/check_ansible is already up-to-date.
File context/_build/scripts/pip_install is already up-to-date.
File context/_build/scripts/entrypoint is already up-to-date.
Ansible Builder is building your execution environment image. Tags: localhost/example_server_team_ee:latest
Running command:
podman build -f context/Containerfile -t localhost/example_server_team_ee:latest --build-arg=http_proxy=http://10.0.140.205:8080 --build-arg=no_proxy=localhost,127.0.0.1,::1,.example.com --build-arg=PIP_INDEX_URL=http://nexus.example.com/repository/pypi-proxy/simple --build-arg=PIP_TRUSTED_HOST=nexus.example.com --no-cache context
[1/4] STEP 1/14: FROM registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest AS base
[1/4] STEP 2/14: USER root
--> b7e29ee89f0a
[1/4] STEP 3/14: ENV PIP_BREAK_SYSTEM_PACKAGES=1
--> e8693a9f28db
[1/4] STEP 4/14: ARG EE_BASE_IMAGE
--> e7388321bb0e
[1/4] STEP 5/14: ARG PYCMD
--> 470b95699de8
[1/4] STEP 6/14: ARG PKGMGR_PRESERVE_CACHE
--> 39413d8fbedd
[1/4] STEP 7/14: ARG ANSIBLE_GALAXY_CLI_COLLECTION_OPTS
--> bcf3faeb32e2
[1/4] STEP 8/14: ARG ANSIBLE_GALAXY_CLI_ROLE_OPTS
--> 1f240695f35f
[1/4] STEP 9/14: ARG PKGMGR
--> 602680b3883b
[1/4] STEP 10/14: COPY _build/scripts/ /output/scripts/
--> 8aba4bbfcdae
[1/4] STEP 11/14: COPY _build/scripts/entrypoint /opt/builder/bin/entrypoint
--> ab2f1eb13b9f
[1/4] STEP 12/14: ENV http_proxy="http://1.2.3.4:8080"
--> 1146de14ad3c
[1/4] STEP 13/14: ARG http_proxy
--> a3fe6ade6108
[1/4] STEP 14/14: RUN /output/scripts/pip_install $PYCMD
+ PYCMD=/usr/bin/python3
+ '[' -z /usr/bin/python3 ']'
+ '[' '!' -x /usr/bin/python3 ']'
+ /usr/bin/python3 -m ensurepip --root /
Looking in links: /tmp/tmpfjm5rh8a
Requirement already satisfied: setuptools in /usr/lib/python3.9/site-packages (50.3.2)
Requirement already satisfied: pip in /usr/lib/python3.9/site-packages (20.2.4)
+ '[' 0 -ne 0 ']'
+ exit 0
--> 68216146d09e
[3/4] STEP 1/16: FROM 68216146d09ebcf05a990a42281ef1d8f1708e54a98b3f11ad239ad6e7b54a51 AS builder
[3/4] STEP 2/16: ENV PIP_BREAK_SYSTEM_PACKAGES=1
--> 35f1ef4e550e
[3/4] STEP 3/16: WORKDIR /build
--> 9ab5a0f1e7bc
[3/4] STEP 4/16: ARG EE_BASE_IMAGE
--> 56f3f834aa0c
[3/4] STEP 5/16: ARG PYCMD
--> a201b70d3209
[3/4] STEP 6/16: ARG PKGMGR_PRESERVE_CACHE
--> 7bc1f84bce59
[3/4] STEP 7/16: ARG ANSIBLE_GALAXY_CLI_COLLECTION_OPTS
--> 36d909f29130
[3/4] STEP 8/16: ARG ANSIBLE_GALAXY_CLI_ROLE_OPTS
--> 872862c80a54
[3/4] STEP 9/16: ARG PKGMGR
--> b326509a7010
[3/4] STEP 10/16: RUN $PYCMD -m pip install --no-cache-dir bindep pyyaml packaging
WARNING: Running pip install with root privileges is generally not a good idea. Try `python3 -m pip install --user` instead.
Collecting bindep
Downloading bindep-2.13.0-py3-none-any.whl (34 kB)
Requirement already satisfied: pyyaml in /usr/lib64/python3.9/site-packages (5.4.1)
Requirement already satisfied: packaging in /usr/lib/python3.9/site-packages (21.3)
Collecting Parsley
Downloading Parsley-1.3-py2.py3-none-any.whl (88 kB)
Collecting pbr>=2
Downloading pbr-7.0.1-py2.py3-none-any.whl (126 kB)
Collecting distro>=1.7
Downloading distro-1.9.0-py3-none-any.whl (20 kB)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/lib/python3.9/site-packages (from packaging) (3.0.9)
Requirement already satisfied: setuptools in /usr/lib/python3.9/site-packages (from pbr>=2->bindep) (50.3.2)
Installing collected packages: Parsley, pbr, distro, bindep
Successfully installed Parsley-1.3 bindep-2.13.0 distro-1.9.0 pbr-7.0.1
--> 4ccfe7c42aa8
[3/4] STEP 11/16: COPY _build/configs/pip.conf /etc/pip.conf
--> 3d6302769cb3
[3/4] STEP 12/16: COPY --from=galaxy /usr/share/ansible /usr/share/ansible
[4/4] STEP 1/22: FROM 68216146d09ebcf05a990a42281ef1d8f1708e54a98b3f11ad239ad6e7b54a51 AS final
[4/4] STEP 2/22: ENV PIP_BREAK_SYSTEM_PACKAGES=1
--> 97ebcbb1b87a
[4/4] STEP 3/22: ARG EE_BASE_IMAGE
--> 23cad3ecb17e
[4/4] STEP 4/22: ARG PYCMD
--> 7ee2b5d6bc7d
[4/4] STEP 5/22: ARG PKGMGR_PRESERVE_CACHE
--> d49d1a25f21f
[4/4] STEP 6/22: ARG ANSIBLE_GALAXY_CLI_COLLECTION_OPTS
--> 811bb287a78f
[4/4] STEP 7/22: ARG ANSIBLE_GALAXY_CLI_ROLE_OPTS
--> 97ea13e49551
[4/4] STEP 8/22: ARG PKGMGR
--> d487d6ab96f1
[4/4] STEP 9/22: RUN /output/scripts/check_ansible $PYCMD
+ PYCMD=/usr/bin/python3
+ '[' -z /usr/bin/python3 ']'
+ '[' '!' -x /usr/bin/python3 ']'
+ ansible --version
ansible [core 2.15.13]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
ansible collection location = /home/runner/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible
python version = 3.9.20 (main, Sep 26 2024, 20:59:47) [GCC 8.5.0 20210514 (Red Hat 8.5.0-22)] (/usr/bin/python3.9)
jinja version = 3.1.6
libyaml = True
+ '[' 0 -ne 0 ']'
+ ansible-runner --version
2.3.6
+ '[' 0 -ne 0 ']'
+ /usr/bin/python3 -c 'import ansible ; import ansible_runner'
+ '[' 0 -ne 0 ']'
+ exit 0
--> 83d888d9c3dd
[4/4] STEP 10/22: COPY --from=galaxy /usr/share/ansible /usr/share/ansible
[2/4] STEP 1/14: FROM 68216146d09ebcf05a990a42281ef1d8f1708e54a98b3f11ad239ad6e7b54a51 AS galaxy
[2/4] STEP 2/14: ARG EE_BASE_IMAGE
--> 8b38e2271a4f
[2/4] STEP 3/14: ARG PYCMD
--> be5ca1919009
[2/4] STEP 4/14: ARG PKGMGR_PRESERVE_CACHE
--> 0873248acc50
[2/4] STEP 5/14: ARG ANSIBLE_GALAXY_CLI_COLLECTION_OPTS
--> 025ad9cb7101
[2/4] STEP 6/14: ARG ANSIBLE_GALAXY_CLI_ROLE_OPTS
--> f5c22e20b328
[2/4] STEP 7/14: ARG PKGMGR
--> 8583277cac86
[2/4] STEP 8/14: COPY _build/configs/pip.conf /etc/pip.conf
--> 5bdf24b5bcc3
[2/4] STEP 9/14: RUN /output/scripts/check_galaxy
+ ansible-galaxy --version
ansible-galaxy [core 2.15.13]
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.9/site-packages/ansible
ansible collection location = /home/runner/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/bin/ansible-galaxy
python version = 3.9.20 (main, Sep 26 2024, 20:59:47) [GCC 8.5.0 20210514 (Red Hat 8.5.0-22)] (/usr/bin/python3.9)
jinja version = 3.1.6
libyaml = True
+ '[' 0 -ne 0 ']'
+ exit 0
--> 5d573228d57e
[2/4] STEP 10/14: COPY _build /build
--> 71b584cda19c
[2/4] STEP 11/14: WORKDIR /build
--> 55f2ab3b12de
[2/4] STEP 12/14: RUN mkdir -p /usr/share/ansible
--> c574a44dd307
[2/4] STEP 13/14: RUN ansible-galaxy role install $ANSIBLE_GALAXY_CLI_ROLE_OPTS -r requirements.yml --roles-path "/usr/share/ansible/roles"
ERROR! Expecting requirements yaml to be a list or dictionary but got str
Error: building at STEP "RUN ansible-galaxy role install $ANSIBLE_GALAXY_CLI_ROLE_OPTS -r requirements.yml --roles-path "/usr/share/ansible/roles"": while running runtime: exit status 1
Here is my execution environment:
---
version: 3
dependencies:
galaxy: [requirements.yml]
python: [requirements.txt]
system: [bindep.txt]
options:
package_manager_path: /usr/bin/microdnf
images:
base_image:
name: registry.redhat.io/ansible-automation-platform-24/ee-minimal-rhel8:latest
additional_build_files:
#weβll copy your Nexus pip config into the image before any pip runs
- src: _pip/pip.conf
dest: configs # available at _build/configs/pip.conf during build
additional_build_steps:
prepend_base:
- ENV http_proxy="http://10.0.140.205:8080"
- ARG http_proxy
prepend_galaxy:
- COPY _build/configs/pip.conf /etc/pip.conf
prepend_builder:
- COPY _build/configs/pip.conf /etc/pip.conf
append_final:
- RUN rm -f /etc/pip.conf || true
I am using ansible-builder 3.1.0 with the latest ansible on RHEL 9.6
We have nexus repo manager in place for pypi proxy and a general proxy which IS configured correctly.
Here is my requiorements.yml
---
roles: []
collections:
- name: community.general
- name: community.vmware
- name: theforeman.foreman
- name: venafi.machine_identity
- name: cyberark.conjur
- name: cyberark.pas
- name: community.postgresql
- name: community.windows
- name: containers.podman
- name: microsoft.ad
- name: microsoft.iis
- name: awx.awx
- name: community.aws
- name: community.proxmox
Here is my requiremetns.txt
#VMware
pyvmomi>=8.0.3.0.1
#Windows modules commonly need these
pywinrm>=0.4.3
pypsrp>=0.8.1
requests>=2.31.0
setuptools
#Proxmox collection often expects this
proxmoxer>=2.0.1
#Foreman / others typically work with requests, already included
I donβt understand why itβs failing.
derb
(Dave Erb)
August 27, 2025, 4:32pm
2
Fracture7144:
requiorements.yml
Iβm guessing this is just a typo in your post, but you have it listed as requiorements.yml, yet your dependency shows:
dependencies:
galaxy: [requirements.yml]
Also, you may want to remove the empty Roles line, it is not needed:
roles: []
Yes that was typo in the post.
Removing the roles: didnβt help. It failed in the same spot.
johan
August 27, 2025, 4:51pm
5
hello, can you remove the Β« name: Β» part and just list the collections name with a - before in the requirements.yml ?
Also, you get inspiration from this page and embed the collection list directly ?
Building your first Execution Environment β Ansible Community Documentation .
Same error. I actually had red hat help me. but iβm not getting a quick response.
shrews
(David Shrewsbury)
August 27, 2025, 6:51pm
7
Youβve formatted your EE file incorrectly. Remove the brackets from around the filenames of the galaxy, python, and system dependencies.
dependencies:
galaxy: requirements.yml
python: requirements.txt
system: bindep.txt
1 Like
I will try that out and let you know. I also found out I forgot to allow galaxy.ansible.com through our proxyβ¦UGH.
ok, got that issue fixed. Now iβm getting this when running the builder -
Collecting pytest>=6.2.5
Downloading pytest-8.4.1-py3-none-any.whl (365 kB)
βββββββββββββββββββββββββββββββββββββββ 365.5/365.5 kB 8.6 MB/s eta 0:00:00
Collecting vmware_vapi_runtime==2.61.2
Downloading vmware_vapi_runtime-2.61.2-py3-none-any.whl (239 kB)
βββββββββββββββββββββββββββββββββββββββ 239.2/239.2 kB 9.8 MB/s eta 0:00:00
Requirement already satisfied: pyOpenSSL<24.3.0 in /usr/lib/python3.11/site-packages (from vmware_vapi_runtime==2.61.2->vmware-vcenter->-r /tmp/src/requirements.txt (line 17)) (24.1.0)
Requirement already satisfied: gssapi>=1.6.0 in /usr/local/lib64/python3.11/site-packages (from pyspnego[kerberos]>=0.8.0->-r /tmp/src/requirements.txt (line 23)) (1.8.2)
Collecting aiohappyeyeballs>=2.5.0
Downloading aiohappyeyeballs-2.6.1-py3-none-any.whl (15 kB)
Collecting aiosignal>=1.4.0
Downloading aiosignal-1.4.0-py3-none-any.whl (7.5 kB)
Collecting frozenlist>=1.1.1
Downloading frozenlist-1.7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235 kB)
ββββββββββββββββββββββββββββββββββββββ 235.3/235.3 kB 10.2 MB/s eta 0:00:00
Collecting multidict<7.0,>=4.5
Downloading multidict-6.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (246 kB)
ββββββββββββββββββββββββββββββββββββββ 246.7/246.7 kB 10.6 MB/s eta 0:00:00
Collecting propcache>=0.2.0
Downloading propcache-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (213 kB)
βββββββββββββββββββββββββββββββββββββββ 213.5/213.5 kB 9.9 MB/s eta 0:00:00
Collecting yarl<2.0,>=1.17.0
Downloading yarl-1.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348 kB)
βββββββββββββββββββββββββββββββββββββββ 349.0/349.0 kB 8.5 MB/s eta 0:00:00
Requirement already satisfied: requests-ntlm>=1.1.0 in /usr/local/lib/python3.11/site-packages (from pywinrm>=0.4.3->-r /tmp/src/requirements.txt (line 33)) (1.1.0)
Requirement already satisfied: typing-extensions>=4.2 in /usr/lib/python3.11/site-packages (from aiosignal>=1.4.0->aiohttp->-r /tmp/src/requirements.txt (line 31)) (4.9.0)
Requirement already satisfied: pycparser in /usr/lib/python3.11/site-packages (from cffi>=1.12->cryptography>=3.1->-r /tmp/src/requirements.txt (line 19)) (2.20)
Requirement already satisfied: decorator in /usr/local/lib/python3.11/site-packages (from gssapi>=1.6.0->pyspnego[kerberos]>=0.8.0->-r /tmp/src/requirements.txt (line 23)) (5.1.1)
Collecting iniconfig>=1
Downloading iniconfig-2.1.0-py3-none-any.whl (6.0 kB)
Requirement already satisfied: packaging>=20 in /usr/lib/python3.11/site-packages (from pytest>=6.2.5->pytest-mock->-r /tmp/src/requirements.txt (line 14)) (23.2)
Collecting pluggy<2,>=1.5
Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)
Collecting pygments>=2.7.2
Downloading pygments-2.19.2-py3-none-any.whl (1.2 MB)
ββββββββββββββββββββββββββββββββββββββββ 1.2/1.2 MB 7.4 MB/s eta 0:00:00
Requirement already satisfied: ntlm-auth>=1.0.2 in /usr/local/lib/python3.11/site-packages (from requests-ntlm>=1.1.0->pywinrm>=0.4.3->-r /tmp/src/requirements.txt (line 33)) (1.5.0)
Requirement already satisfied: ply==3.11 in /usr/lib/python3.11/site-packages (from pycparser->cffi>=1.12->cryptography>=3.1->-r /tmp/src/requirements.txt (line 19)) (3.11)
Building wheels for collected packages: krb5
Building wheel for krb5 (pyproject.toml): started
Building wheel for krb5 (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
Γ Building wheel for krb5 (pyproject.toml) did not run successfully.
β exit code: 1
β°β> [99 lines of output]
Using krb5-config at 'krb5-config'
Using libkrb5.so as Kerberos module for platform checks
Compiling src/krb5/_ccache.pyx
Compiling src/krb5/_ccache_mit.pyx
Compiling src/krb5/_ccache_match.pyx
Compiling src/krb5/_ccache_support_switch.pyx
Compiling src/krb5/_cccol.pyx
Compiling src/krb5/_chpw_message_mit.pyx
Compiling src/krb5/_context.pyx
Compiling src/krb5/_context_mit.pyx
Compiling src/krb5/_creds.pyx
Compiling src/krb5/_creds_marshal_mit.pyx
Compiling src/krb5/_creds_mit.pyx
Compiling src/krb5/_creds_opt.pyx
Skipping src/krb5/_creds_opt_heimdal.pyx as it is not supported by the selected Kerberos implementation.
Compiling src/krb5/_creds_opt_mit.pyx
Compiling src/krb5/_creds_opt_set_in_ccache.pyx
Compiling src/krb5/_creds_opt_set_pac_request.pyx
Compiling src/krb5/_exceptions.pyx
Compiling src/krb5/_keyblock.pyx
Compiling src/krb5/_keyblock_mit.pyx
Compiling src/krb5/_kt.pyx
Compiling src/krb5/_kt_mit.pyx
Skipping src/krb5/_kt_heimdal.pyx as it is not supported by the selected Kerberos implementation.
Compiling src/krb5/_kt_have_content.pyx
Compiling src/krb5/_principal.pyx
Skipping src/krb5/_principal_heimdal.pyx as it is not supported by the selected Kerberos implementation.
Compiling src/krb5/_set_password.pyx
Compiling src/krb5/_string.pyx
Compiling src/krb5/_string_mit.pyx
/tmp/pip-build-env-5hqvjuie/overlay/lib/python3.11/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX license expression:
License :: OSI Approved :: MIT License
See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
********************************************************************************
!!
self._finalize_license_expression()
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/__init__.py -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_adpi.py -> build/lib.linux-x86_64-cpython-311/krb5
running egg_info
writing src/krb5.egg-info/PKG-INFO
writing dependency_links to src/krb5.egg-info/dependency_links.txt
writing top-level names to src/krb5.egg-info/top_level.txt
reading manifest file 'src/krb5.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files found matching '.coverage'
warning: no previously-included files found matching '.gitignore'
warning: no previously-included files found matching '.pre-commit-config.yaml'
warning: no previously-included files matching '*.pyc' found under directory 'tests'
adding license file 'LICENSE'
writing manifest file 'src/krb5.egg-info/SOURCES.txt'
copying src/krb5/_ccache.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_ccache_match.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_ccache_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_ccache_support_switch.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_cccol.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_chpw_message_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_context.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_context_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_marshal_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_opt.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_opt_heimdal.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_opt_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_opt_set_in_ccache.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_creds_opt_set_pac_request.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_exceptions.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_keyblock.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_keyblock_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_kt.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_kt_have_content.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_kt_heimdal.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_kt_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_principal.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_principal_heimdal.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_set_password.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_string.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/_string_mit.pyi -> build/lib.linux-x86_64-cpython-311/krb5
copying src/krb5/py.typed -> build/lib.linux-x86_64-cpython-311/krb5
running build_ext
building 'krb5._ccache' extension
creating build/temp.linux-x86_64-cpython-311/src/krb5
gcc -pthread -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Isrc/krb5 -I/usr/include/python3.11 -c src/krb5/_ccache.c -o build/temp.linux-x86_64-cpython-311/src/krb5/_ccache.o
src/krb5/_ccache.c:34:10: fatal error: Python.h: No such file or directory
#include "Python.h"
^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/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 krb5
Failed to build krb5
ERROR: Could not build wheels for krb5, which is required to install pyproject.toml-based projects
Error: building at STEP "RUN /output/scripts/assemble": while running runtime: exit status 1
I removed the krb5 stuff and got it working.