# Ansible-builder failing

**URL:** <https://forum.ansible.com/t/ansible-builder-failing/44380>\
**Category:** Get Help\
**Tags:** windows, vmware, proxy, ansible, aap, aws, awx, galaxy-ng, ansible-builder, ee\
**Created:** [August 27, 2025, 4:13pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380 "2025-08-27T16:13:15Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 4:13pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/1 "2025-08-27T16:13:15Z")

</div>

I am trying to create a EE using ansible-builder for my AAP environment. Here is the error i’m getting:

```auto
[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:

```auto
---
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

```auto
---
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

```auto
#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.

---

<div class="post-metadata">

**Author:** ![derb](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/derb/32/4385_2.png) [@derb](https://forum.ansible.com/u/derb)\
**Post date:** [August 27, 2025, 4:32pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/2 "2025-08-27T16:32:13Z")

</div>

> [@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:

```auto
dependencies:
  galaxy: [requirements.yml]

```

Also, you may want to remove the empty Roles line, it is not needed:  
`roles: []`

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 4:35pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/3 "2025-08-27T16:35:27Z")

</div>

Yes that was typo in the post.

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 4:36pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/4 "2025-08-27T16:36:17Z")

</div>

Removing the roles: didn’t help. It failed in the same spot.

---

<div class="post-metadata">

**Author:** ![johan](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@johan](https://forum.ansible.com/u/johan)\
**Post date:** [August 27, 2025, 4:51pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/5 "2025-08-27T16:51:05Z")

</div>

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](https://docs.ansible.com/ansible/latest/getting_started_ee/build_execution_environment.html).

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 5:58pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/6 "2025-08-27T17:58:51Z")

</div>

Same error. I actually had red hat help me. but i’m not getting a quick response.

---

<div class="post-metadata">

**Author:** ![shrews](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/shrews/32/10142_2.png) [@shrews](https://forum.ansible.com/u/shrews)\
**Post date:** [August 27, 2025, 6:51pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/7 "2025-08-27T18:51:13Z")

</div>

You’ve formatted your EE file incorrectly. Remove the brackets from around the filenames of the galaxy, python, and system dependencies.

```auto
dependencies:
  galaxy: requirements.yml
  python: requirements.txt
  system: bindep.txt

```

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 7:11pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/8 "2025-08-27T19:11:55Z")

</div>

I will try that out and let you know. I also found out I forgot to allow [galaxy.ansible.com](http://galaxy.ansible.com) through our proxy…UGH.

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 7:39pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/9 "2025-08-27T19:39:20Z")

</div>

ok, got that issue fixed. Now i’m getting this when running the builder -

```auto
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

```

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [August 27, 2025, 9:00pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/10 "2025-08-27T21:00:43Z")

</div>

I removed the krb5 stuff and got it working.

---

<div class="post-metadata">

**Author:** ![jessiewestlake](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/jessiewestlake/32/7894_2.png) [@jessiewestlake](https://forum.ansible.com/u/jessiewestlake)\
**Post date:** [August 31, 2025, 4:39am UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/12 "2025-08-31T04:39:37Z")

</div>

Are you planning on using SSH as the authentication/communication protocol to your Windows systems?

If not, I would recommend you do use Kerberos.

---

<div class="post-metadata">

**Author:** ![ildjarn](https://avatars.discourse-cdn.com/v4/letter/i/8491ac/32.png) [@ildjarn](https://forum.ansible.com/u/ildjarn)\
**Post date:** [September 2, 2025, 11:29am UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/13 "2025-09-02T11:29:48Z")

</div>

```auto
      src/krb5/_ccache.c:34:10: fatal error: Python.h: No such file or directory

```

You’re missing the python-devel package. Add it to your bindep.txt

---

<div class="post-metadata">

**Author:** ![Fracture7144](https://avatars.discourse-cdn.com/v4/letter/f/73ab20/32.png) [@Fracture7144](https://forum.ansible.com/u/Fracture7144)\
**Post date:** [September 2, 2025, 2:26pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/14 "2025-09-02T14:26:12Z")

</div>

I removed Kerberos and that resolved. Sorry for the delay! I will build a separate execution environment for windows servers.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [October 14, 2025, 2:57pm UTC](https://forum.ansible.com/t/ansible-builder-failing/44380/15 "2025-10-14T14:57:06Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
