Skip to content

[Build] Fix the PyYang python package installation issue#15890

Merged
xumia merged 1 commit intosonic-net:masterfrom
xumia:fix-pyyang-issue
Jul 18, 2023
Merged

[Build] Fix the PyYang python package installation issue#15890
xumia merged 1 commit intosonic-net:masterfrom
xumia:fix-pyyang-issue

Conversation

@xumia
Copy link
Collaborator

@xumia xumia commented Jul 18, 2023

Why I did it

Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1

Error message:

Collecting PyYAML==5.4.1
  Downloading PyYAML-5.4.1.tar.gz (175 kB)
     |████████████████████████████████| 175 kB 12.3 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/# 

But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation

The same error can be found in the multiple builds.

Work item tracking
  • Microsoft ADO (number only): 24567457

How I did it

Add a build option --no-build-isolation.

How to verify it

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)

Copy link
Contributor

@StormLiangMS StormLiangMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@StormLiangMS
Copy link
Contributor

EasyCLA

@StormLiangMS
Copy link
Contributor

/easycla

2 similar comments
@xumia
Copy link
Collaborator Author

xumia commented Jul 18, 2023

/easycla

@xumia
Copy link
Collaborator Author

xumia commented Jul 18, 2023

/easycla

@xumia
Copy link
Collaborator Author

xumia commented Jul 18, 2023

The status of the EasyCLA check result is not reported in multiple PRs. Another example: #15889

Created an issue to EasyCLA community: linuxfoundation/easycla#4052

@xumia xumia disabled auto-merge July 18, 2023 22:30
@xumia
Copy link
Collaborator Author

xumia commented Jul 18, 2023

Bypass the EasyCLA, the EasyCLA not report the status for a long time.
The PyYang issue blocks multiple PRs.

@xumia xumia merged commit bdef73e into sonic-net:master Jul 18, 2023
@xumia xumia deleted the fix-pyyang-issue branch July 18, 2023 22:33
mssonicbld pushed a commit to mssonicbld/sonic-buildimage that referenced this pull request Jul 18, 2023
…5890)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/# 
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.
@mssonicbld
Copy link
Collaborator

Cherry-pick PR to 202211: #15898

@mssonicbld
Copy link
Collaborator

@xumia PR conflicts with 202205 branch

xumia added a commit that referenced this pull request Jul 19, 2023
…5904)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/#
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.
xumia added a commit that referenced this pull request Jul 22, 2023
) (#15905)

* [Build] Fix the PyYang python package installation issue (#15890)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/#
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.

* Fix docker-platform-monitor python2 issue

* Fix wheel dependency issue
xumia added a commit that referenced this pull request Jul 23, 2023
) (#15903)

* [Build] Fix the PyYang python package installation issue (#15890)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/#
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.

* Fix docker-platform-monitor python2 issue

* Fix wheel dependency issue

* Fix wheel dependency issue

* Fix the pip2 PyYAML in host image
@mssonicbld
Copy link
Collaborator

@xumia PR conflicts with 202305 branch

@mssonicbld
Copy link
Collaborator

@xumia PR conflicts with 202205 branch

@StormLiangMS
Copy link
Contributor

@xumia cherry-pick to 202305 failed.

sonic-otn pushed a commit to sonic-otn/sonic-buildimage that referenced this pull request Sep 20, 2023
…5890)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/# 
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.
@StormLiangMS
Copy link
Contributor

StormLiangMS commented Nov 2, 2023

remove 202305 request, since armhf compile can pass for 202305 branch.

centecqianj pushed a commit to CentecNetworks/sonic-buildimage that referenced this pull request Dec 21, 2023
…ic-net#15890) (sonic-net#15903)

* [Build] Fix the PyYang python package installation issue (sonic-net#15890)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/#
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.

* Fix docker-platform-monitor python2 issue

* Fix wheel dependency issue

* Fix wheel dependency issue

* Fix the pip2 PyYAML in host image
vivekrnv pushed a commit to vivekrnv/sonic-buildimage that referenced this pull request Mar 18, 2024
…5890) (sonic-net#224)

Why I did it
Fix the armhf build failure.
How to reproduce the issue:

docker run -it debain:bullseye bash
apt-get update && apt-get install -y python3-pip
pip3 install PyYAML==5.4.1
Error message:

Collecting PyYAML==5.4.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl
....
      raise AttributeError(attr)
  AttributeError: cython_sources
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz#sha256=607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e (from https://pypi.org/simple/pyyaml/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*). Command errored out with exit status 1: /usr/bin/python3 /tmp/tmp6xabslgb_in_process.py get_requires_for_build_wheel /tmp/tmp_er01ztl Check the logs for full command output.
ERROR: Could not find a version that satisfies the requirement PyYAML==5.4.1
ERROR: No matching distribution found for PyYAML==5.4.1
root@fa2fa92edcfd:/# 
But if adding the option --no-build-isolation, then it is good, see fix.

install "PyYAML==5.4.1" --no-build-isolation
The same error can be found in the multiple builds.

Work item tracking
Microsoft ADO (number only): 24567457

How I did it
Add a build option --no-build-isolation.

Co-authored-by: xumia <59720581+xumia@users.noreply.github.com>
wangxin pushed a commit that referenced this pull request Apr 30, 2025
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.
mssonicbld added a commit to mssonicbld/sonic-buildimage that referenced this pull request May 12, 2025
<!--
     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 added a commit to mssonicbld/sonic-buildimage that referenced this pull request May 12, 2025
<!--
     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 added a commit that referenced this pull request May 14, 2025
<!--
 Please make sure you've read and understood our contributing guidelines:
 https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

 failure_prs.log skip_prs.log 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 #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.

<!--
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)
patrickmacarthur pushed a commit to patrickmacarthur/sonic-buildimage that referenced this pull request Aug 6, 2025
…05 (sonic-net#1124)

```<br>* 0d9df54 - (HEAD -> 202405) Merge branch '202405' of https://github.com/sonic-net/sonic-buildimage into 202405 (2025-05-15) [Sonic Automation]
* 5062309 - (head/202405) Fix package version conflict introduced by PR sonic-net#15890 (sonic-net#22598) (2025-05-14) [mssonicbld]<br>```
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.

5 participants