FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add manylinux_2_28 ppc64le wheels by radarhere · Pull Request #9145 · python-pillow/Pillow · GitHub

Add manylinux_2_28 ppc64le wheels - #9145

Closed
radarhere wants to merge 4 commits into
python-pillow:mainfrom
radarhere:ppc64le
Closed

Add manylinux_2_28 ppc64le wheels#9145
radarhere wants to merge 4 commits into
python-pillow:mainfrom
radarhere:ppc64le

Conversation

radarhere commented Aug 10, 2025
edited
Loading

Copy link
Copy Markdown
Member

#9107 requests ppc64le wheels.

While there is the potential for using self-hosted runners to generate these quickly, if we don't want to go down that route, then here is another option - using QEMU to create them, but with minimal dependencies to reduce the build time. In the build in this PR, ppc64le jobs are not the longest.

Copy link
Copy Markdown

Just following up on regarding the ppc64le wheels. Are there any updates or feedback needed to move it forward?

Copy link
Copy Markdown
Member Author

Simply waiting for review from another Pillow team member.

Copy link
Copy Markdown
Member

@sandeepgupta12 Can you test these wheels before we merge ?

sandeepgupta12 commented Sep 11, 2025
edited by radarhere
Loading

Copy link
Copy Markdown

Sure, I can test the wheels on a ppc64le machine and let you know the results.

sandeepgupta12 commented Sep 15, 2025
edited by radarhere
Loading

Copy link
Copy Markdown

@radarhere
I tested these wheels on a native ppc64le machine. The build works, but I see some test failures:

FAILED Tests/test_file_iptc.py::test_open - AssertionError: assert [_Tile(codec_..., args='raw')] == [('iptc', (0,...'raw', None))]
FAILED Tests/test_file_iptc.py::test_layers[3-RGB] - AssertionError: assert 'R' == 'RGB'
FAILED Tests/test_file_iptc.py::test_layers[4-CMYK] - AssertionError: assert 'C' == 'CMYK'
FAILED Tests/test_image.py::TestImage::test_show - Failed: DID NOT WARN. No warnings of type (<class 'DeprecationWarning'>,) were emitted.

Looking at the build script, on ppc64le the build function runs build_libjpeg_turbo but then exits early:

if [[ "$AUDITWHEEL_ARCH" == "ppc64le" ]]; then
    return
fi

Because of this, other dependencies are not built, so the resulting wheel has incomplete image format support. That seems to explain the above test failures.

Copy link
Copy Markdown
Member Author

I would be surprised if the lack of image support was the reason for the test failures. The test failures sound more like #9088, which was merged after the last time I updated this PR. So I suspect the problem is that you built from this PR, and then tested main.

To simplify things, I've now merged main into this PR again, so that change should now be included. Could you try building and testing again?

Copy link
Copy Markdown

@radarhere @aclark4life Thanks for updating the branch. I retested on a native ppc64le machine, and everything is working fine now ✅. I think we can go ahead and merge this PR.

hugovk commented Sep 21, 2025

Copy link
Copy Markdown
Member

How long does this take to build? How many wheels does it create? How big are they?

radarhere closed this Sep 21, 2025
radarhere deleted the ppc64le branch September 21, 2025 11:41
radarhere restored the ppc64le branch September 21, 2025 11:41

Copy link
Copy Markdown
Member Author

Oops, accidentally deleted this branch. I've recreated it in #9216

The longest run is 1h 1m. This creates 7 manylinux_2_28 wheels (all active CPython versions, including threaded). They are each 1.9mb.

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants


Back | FazBrowse Home | New Git URL