Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make python 3.13 version of virtual packages the default. - batch 01 #36428

Closed
wants to merge 7 commits into from

Conversation

smoser
Copy link
Member

@smoser smoser commented Dec 11, 2024

Make python-3.13 version of PYPI_PKG provide virtual py3-PYPI_PKG

This just makes the python v3.13 version of a package the highest
version. So now, if you do apk add py3-appnope, you'll get
py3.13-appnope where before you would get py3.12-appnope.

The 'set-313.sh' script used to do this looks like:

#!/bin/sh -e
r=' \(["'\'']*3[.]13["'\'']*\): \(["'\'']*\)[0-9]\+\(["'\'']*\)'
n=313

files=$(git grep -l "$r")
set -- $files
echo "$# files"
sed -i -e "s,$r, \1: \2${n}\3," "$@"
wolfictl bump "$@"

justinvreeland
justinvreeland previously approved these changes Dec 11, 2024
@octo-sts octo-sts bot added the bincapz/blocking Bincapz (aka malcontent) scan results detected CRITICALs on the packages. label Dec 11, 2024
justinvreeland
justinvreeland previously approved these changes Dec 12, 2024
@octo-sts octo-sts bot added bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages. and removed bincapz/blocking Bincapz (aka malcontent) scan results detected CRITICALs on the packages. labels Dec 12, 2024
justinvreeland
justinvreeland previously approved these changes Dec 12, 2024
Copy link
Contributor

octo-sts bot commented Dec 13, 2024

Gen AI suggestions to solve the build error:

• Detected Error: "solving 'so:libicuuc.so.75' constraint: icu-libs-75.1-r1.apk disqualified because '75.1-r1' does not satisfy 'icu-libs=76.1-r0'"

• Error Category: Dependency

• Failure Point: Package dependency resolution during build environment setup

• Root Cause Analysis: There's a version mismatch between re2 package requirements (needs ICU 75.x) and the system ICU library (76.1). The re2 package is compiled against an older version of ICU than what's currently installed in the build environment.

• Suggested Fix:

  1. Add specific ICU version constraint in environment.contents.packages:
environment:
  contents:
    packages:
      - icu-dev=75.1-r3
      - icu-libs=75.1-r3
      # ... other packages ...
  1. Or rebuild re2 against ICU 76.1 first

• Explanation: The error occurs because re2 was built against ICU 75.x but the system has ICU 76.1. By either pinning ICU to the compatible version or rebuilding re2 against the newer ICU, we can resolve the version mismatch.

• Additional Notes:

  • This is a common issue when library SONAME versions change
  • The long-term solution would be to rebuild re2 against ICU 76.1
  • Consider filing an issue to track rebuilding re2 against newer ICU

• References:

Copy link
Contributor

octo-sts bot commented Dec 13, 2024

Gen AI suggestions to solve the build error:

• Detected Error: "solving 'so:libicuuc.so.75' constraint: icu-75.1-r0.apk disqualified because '75.1-r0' does not satisfy 'icu=76.1-r0'"

• Error Category: Dependency

• Failure Point: Package dependency resolution during build environment setup

• Root Cause Analysis: There's a version mismatch between the required ICU library version (75.x) needed by re2 and the installed ICU version (76.1). The re2 package is looking for libicuuc.so.75, but the system has ICU 76.1 installed.

• Suggested Fix:

  1. Add version constraint for re2 and re2-dev in environment.contents.packages:
environment:
  contents:
    packages:
      - re2=2023.07.01-r1  # Use older version compatible with ICU 76.1
      - re2-dev=2023.07.01-r1

Or alternatively:

  1. Pin ICU version to match re2's requirements:
environment:
  contents:
    packages:
      - icu=75.1-r3
      - icu-dev=75.1-r3

• Explanation: The build is failing because of an ABI incompatibility between re2 and ICU libraries. Re2 2024.02.01 was built against ICU 75.x, but the system has ICU 76.1. Either downgrading re2 to a version built against ICU 76.1 or pinning ICU to version 75.x will resolve the dependency conflict.

• Additional Notes:

  • This is a common issue when library sonames change between versions
  • The fix needs to ensure ABI compatibility between all components
  • Consider checking upstream re2 for compatibility with newer ICU versions

• References:

@smoser smoser added the ai/skip-comment Stop AI from commenting on PR label Dec 13, 2024
@smoser smoser marked this pull request as draft December 13, 2024 19:43
auto-merge was automatically disabled December 13, 2024 19:43

Pull request was converted to draft

@smoser smoser closed this Dec 13, 2024
@justinvreeland
Copy link
Member

I think I got all of them let me know if I missed any.

@smoser smoser deleted the feat/py313-pkgs-batch-01 branch December 16, 2024 18:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ai/skip-comment Stop AI from commenting on PR bincapz/pass bincapz/pass Bincapz (aka. malcontent) scan didn't detect any CRITICALs on the scanned packages.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants