Skip to content

Conversation

@mssonicbld
Copy link
Collaborator

Why I did it

In PR #15890, to address an armhf build failure, the PyYAML version was pinned to 5.4.1 and the --no-build-isolation flag was introduced. However, our reproducible build has since been upgraded to use PyYAML 6.0.1, which leads to version conflicts.

target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-+ sudo https_proxy= LANG=C chroot ./fsroot-cisco-8000 pip3 install PyYAML==5.4.1 --no-build-isolation
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-ERROR: Cannot install PyYAML==5.4.1 because these package versions have conflicting dependencies.
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-The conflict is caused by:
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-    The user requested PyYAML==5.4.1
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-    The user requested (constraint) pyyaml==6.0.1
target/docker-config-engine-bullseye.gz.log-Step 14/28 : RUN pip3 install PyYAML==5.4.1 --no-build-isolation
target/docker-config-engine-bullseye.gz.log- ---> Running in 87fe7ac9e1ef
target/docker-config-engine-bullseye.gz.log-ERROR: Cannot install PyYAML==5.4.1 because these package versions have conflicting dependencies.
target/docker-config-engine-bullseye.gz.log-
target/docker-config-engine-bullseye.gz.log-The conflict is caused by:
target/docker-config-engine-bullseye.gz.log-    The user requested PyYAML==5.4.1
target/docker-config-engine-bullseye.gz.log-    The user requested (constraint) pyyaml==6.0.1

This PR resolves the conflict by removing the explicit installation of PyYAML 5.4.1 introduced in PR #15890.

Work item tracking
  • Microsoft ADO (number only):

How I did it

This PR resolves the conflict by removing the explicit installation of PyYAML 5.4.1 introduced in PR #15890.

How to verify it

Tested by pipeline itself, we can sucessfully build the images. And we will install PyYAML 6.0.1, which will not cause the version conflict.

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012
  • 202106
  • 202111
  • 202205
  • 202211
  • 202305

Tested branch (Please provide the tested image version)

Description for the changelog

Link to config_db schema for YANG module changes

A picture of a cute animal (not mandatory but encouraged)

<!--
     Please make sure you've read and understood our contributing guidelines:
     https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

     ** Make sure all your commits include a signature generated with `git commit -s` **

     If this is a bug fix, make sure your description includes "fixes #xxxx", or
     "closes #xxxx" or "resolves #xxxx"

     Please provide the following information:
-->

#### Why I did it
In PR sonic-net#15890, to address an armhf build failure, the PyYAML version was pinned to 5.4.1 and the `--no-build-isolation` flag was introduced. However, our reproducible build has since been upgraded to use PyYAML 6.0.1, which leads to version conflicts.
```
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-+ sudo https_proxy= LANG=C chroot ./fsroot-cisco-8000 pip3 install PyYAML==5.4.1 --no-build-isolation
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-ERROR: Cannot install PyYAML==5.4.1 because these package versions have conflicting dependencies.
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-The conflict is caused by:
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-    The user requested PyYAML==5.4.1
target/sonic-cisco-8000.bin__cisco-8000__rfs.squashfs.log-    The user requested (constraint) pyyaml==6.0.1
```
```
target/docker-config-engine-bullseye.gz.log-Step 14/28 : RUN pip3 install PyYAML==5.4.1 --no-build-isolation
target/docker-config-engine-bullseye.gz.log- ---> Running in 87fe7ac9e1ef
target/docker-config-engine-bullseye.gz.log-ERROR: Cannot install PyYAML==5.4.1 because these package versions have conflicting dependencies.
target/docker-config-engine-bullseye.gz.log-
target/docker-config-engine-bullseye.gz.log-The conflict is caused by:
target/docker-config-engine-bullseye.gz.log-    The user requested PyYAML==5.4.1
target/docker-config-engine-bullseye.gz.log-    The user requested (constraint) pyyaml==6.0.1
```
This PR resolves the conflict by removing the explicit installation of PyYAML 5.4.1 introduced in PR sonic-net#15890.

##### Work item tracking
- Microsoft ADO **(number only)**:

#### How I did it
This PR resolves the conflict by removing the explicit installation of PyYAML 5.4.1 introduced in PR sonic-net#15890.

#### How to verify it
Tested by pipeline itself, we can sucessfully build the images. And we will install PyYAML 6.0.1, which will not cause the version conflict.

<!--
If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012.
-->

#### Which release branch to backport (provide reason below if selected)

<!--
- Note we only backport fixes to a release branch, *not* features!
- Please also provide a reason for the backporting below.
- e.g.
- [x] 202006
-->

- [ ] 201811
- [ ] 201911
- [ ] 202006
- [ ] 202012
- [ ] 202106
- [ ] 202111
- [ ] 202205
- [ ] 202211
- [ ] 202305

#### Tested branch (Please provide the tested image version)

<!--
- Please provide tested image version
- e.g.
- [x] 20201231.100
-->

- [ ] <!-- image version 1 -->
- [ ] <!-- image version 2 -->

#### Description for the changelog
<!--
Write a short (one line) summary that describes the changes in this
pull request for inclusion in the changelog:
-->

<!--
 Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
-->

#### Link to config_db schema for YANG module changes
<!--
Provide a link to config_db schema for the table for which YANG model
is defined
Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md
-->

#### A picture of a cute animal (not mandatory but encouraged)
@mssonicbld
Copy link
Collaborator Author

Original PR: #22424

@mssonicbld
Copy link
Collaborator Author

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld
Copy link
Collaborator Author

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@saiarcot895 saiarcot895 closed this Aug 5, 2025
@saiarcot895 saiarcot895 reopened this Aug 5, 2025
@mssonicbld
Copy link
Collaborator Author

/azp run Azure.sonic-buildimage

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants