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

Add cpython 3.13.0 #25536

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Add cpython 3.13.0 #25536

wants to merge 3 commits into from

Conversation

Ahajha
Copy link
Contributor

@Ahajha Ahajha commented Oct 7, 2024

cpython/3.13.0

Key changes:

Also worth noting, the other minor versions have some patch bumps (3.8.20, 3.9.20, 3.10.15, 3.11.10). I can add those in this PR, or perhaps it can wait.

3.8 is also officially EOL as of October 7th, 2024. We can leave it in the recipe for now but it should probably be removed at some point.

@conan-center-bot

This comment has been minimized.

@ErniGH ErniGH self-assigned this Oct 7, 2024
@conan-center-bot conan-center-bot added the Missing dependencies Build failed due missing dependencies in Conan Center label Oct 8, 2024
@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Warning

Conan Center will stop receiving updates for Conan 1.x packages soon - please see announcement.

Failure in build 2 (494e4673b4b51c92372fe2f13f0b948d298a7c54):

  • cpython/3.12.7:
    CI failed to create some packages (All logs)

    Logs for packageID 689403d698ad8a6e7a5ed616ae7311e3a0e517de:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=5
    os=Linux
    [options]
    cpython:shared=False
    
    [...]
    Packages
        brotli/1.1.0:a75b81d8594a44d34a32f08564f32c5d06a912ea - Download
        bzip2/1.0.8:3df6ebb8a308d309e882b21988fd9ea103560e16 - Download
        cpython/3.12.7:689403d698ad8a6e7a5ed616ae7311e3a0e517de - Build
        expat/2.6.3:b025735bb0d121754b0b4aaae6c02d3b9546c56f - Download
        fontconfig/2.13.93:103f47a570e93cd83b8daec30a37c8982318b81f - Download
        freetype/2.13.2:bf05ac88aac1986abd35f257eeb0064299824400 - Download
        gdbm/1.23:9f6a5757a1dd11863d4b0ae3027ee9190bab5816 - Download
        libffi/3.4.4:76f87539fc90ff313e0b3182641a9bb558a717d2 - Download
        libpng/1.6.44:b4e19c2a9f411079edce0e39c7f8fa0db025a2ad - Download
        libxcrypt/4.4.36:76f87539fc90ff313e0b3182641a9bb558a717d2 - Download
        mpdecimal/2.5.1:3ba48d6bfc61d6958e872ba037eafcf0804d11b7 - Download
        ncurses/6.4:52c113e441a8157bb9acd43119f92dab45990f99 - Download
        openssl/3.3.2:288ceea1eccdb5f24f7075ead24b83b854b1d943 - Download
        sqlite3/3.45.2:bc01b0a8d9a484b3b4226ef647e2ba7dd5b627ed - Download
        tcl/8.6.10:d5204605bf864d4bd98fc6a9e624938e8e04ad03 - Download
        tk/8.6.10:162e0998c1c3e567ea54306fa726b90ab515d1ce - Missing
        util-linux-libuuid/2.39.2:76f87539fc90ff313e0b3182641a9bb558a717d2 - Download
        xorg/system:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download
        xz_utils/5.4.5:76f87539fc90ff313e0b3182641a9bb558a717d2 - Download
        zlib/1.3.1:76f87539fc90ff313e0b3182641a9bb558a717d2 - Download
    Build requirements
        pkgconf/2.1.0 from 'conan-center' - Downloaded
    Build requirements packages
        pkgconf/2.1.0:24647d9fe8ec489125dfbae4b3ebefaf7581674c - Download
    
    Installing (downloading, building) binaries...
    
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    WARN: openssl/3.3.2: requirement zlib/[>=1.2.11 <2] overridden by cpython/3.12.7 to zlib/1.3.1 
    WARN: tcl/8.6.10: requirement zlib/[>=1.2.11 <2] overridden by tk/8.6.10 to zlib/1.3.1 
    WARN: fontconfig/2.13.93: requirement expat/[>=2.6.2 <3] overridden by tk/8.6.10 to expat/2.6.3 
    WARN: freetype/2.13.2: requirement zlib/[>=1.2.10 <2] overridden by fontconfig/2.13.93 to zlib/1.3.1 
    WARN: libpng/1.6.44: requirement zlib/[>=1.2.11 <2] overridden by freetype/2.13.2 to zlib/1.3.1 
    ERROR: Missing binary: tk/8.6.10:162e0998c1c3e567ea54306fa726b90ab515d1ce
    tk/8.6.10: WARN: Can't find a 'tk/8.6.10' package for the specified settings, options and dependencies:
    - Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.version=5, os=Linux
    - Options: fPIC=True, shared=False, brotli:enable_debug=False, brotli:enable_log=False, brotli:enable_portable=False, brotli:enable_rbit=True, brotli:endianness=None, brotli:fPIC=True, brotli:shared=False, brotli:target_bits=None, bzip2:build_executable=True, bzip2:fPIC=True, bzip2:shared=False, expat:char_type=char, expat:fPIC=True, expat:large_size=False, expat:shared=False, fontconfig:fPIC=True, fontconfig:shared=False, freetype:fPIC=True, freetype:shared=False, freetype:subpixel=False, freetype:with_brotli=True, freetype:with_bzip2=True, freetype:with_png=True, freetype:with_zlib=True, libpng:api_prefix=, libpng:fPIC=True, libpng:shared=False, libpng:sse=True, tcl:fPIC=True, tcl:shared=False, zlib:fPIC=True, zlib:shared=False
    - Dependencies: tcl/8.6.10, fontconfig/2.13.93, xorg/system
    - Requirements: fontconfig/2.Y.Z, tcl/8.Y.Z, xorg/system
    - Package ID: 162e0998c1c3e567ea54306fa726b90ab515d1ce
    
    ERROR: Missing prebuilt package for 'tk/8.6.10'
    Use 'conan search tk/8.6.10@ --table=table.html -r=remote' and open the table.html file to see available packages
    Or try to build locally from sources with '--build=tk'
    
    More Info at 'https://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package'
    
  • cpython/3.11.9:
    Didn't run or was cancelled before finishing

  • cpython/3.9.19:
    Didn't run or was cancelled before finishing

  • cpython/3.8.19:
    Didn't run or was cancelled before finishing

  • cpython/3.12.2:
    Didn't run or was cancelled before finishing

  • cpython/3.10.14:
    Didn't run or was cancelled before finishing

  • cpython/3.13.0:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline ❌

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 2 (494e4673b4b51c92372fe2f13f0b948d298a7c54):

  • cpython/3.9.19:
    CI failed to create some packages (All logs)

    Logs for packageID be84a545b458cb7e9b49611f3fbe6331edeff410:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=False
    
    [...]
        cpython/3.9.19#e2031b14eb6dd1635819b0a105bd2440:be84a545b458cb7e9b49611f3fbe6331edeff410 - Build
        expat/2.6.3#39b80d3109fbe578fddfe4951f0b1d57:2ed03cd8691ea01deb11f88b5c95aa5195ec4816#aa46c81dfa3c479a103db9c64430bbf6 - Download (conan-center)
        fontconfig/2.13.93#11c27af044325e679237d01580e91306:7cadacf2600a24b79450826bd6dde0d1b66da0c9#0fdf7ec5b60f232ff42b341bfd16e5f8 - Download (conan-center)
        freetype/2.13.2#c11acb909c91347e70e9a388e76c2fe2:739e41967cd8e90e567861f59c4c6a1087fe7977#b0d4cb1ee321d5300d4255226c320c76 - Download (conan-center)
        gdbm/1.23#e33e95cba20c006ae47466e2770cd984:cfd7b6736f088cc904c990fc83a7462c5a7ed842#311f3bac8e4a0a458e02e97b91024422 - Download (conan-center)
        libffi/3.4.4#72cccac6139293b6e97ec9cd676547ff:b647c43bfefae3f830561ca202b6cfd935b56205#26af75302078f154b292d409f1607c49 - Download (conan-center)
        libpng/1.6.44#9e1aa08fb46946c7c91e4ae03bd49811:19b397f6e54f5b8b2c6f7b81c4dce4c52d386e4f#7fac07f22c22832c2f5c4e7f9990ce0e - Download (conan-center)
        libxcrypt/4.4.36#4b4e8f20794f1997dd59eeed0b7cdcfb:b647c43bfefae3f830561ca202b6cfd935b56205#037347fd279d062f88208f01ebf84817 - Download (conan-center)
        mpdecimal/2.5.0#ef7f121607e10372c07a668830887b79:4701af9408c47fd584e541225d5d1ae61dba9fad#947e69cbcc34775b9736c035addcfa95 - Download (conan-center)
        ncurses/6.4#78908f3ed548f188cf15e415f8949f2f:f4cada79e61348df04d31c8afb663bcf66e9a6e1#06c4e260106edbd1ce96de040bdc0fbe - Download (conan-center)
        openssl/3.3.2#9f9f130d58e7c13e76bb8a559f0a6a8b:ba0c965640dfc9185194d683d05bfbe6419b47a3#760594d9ffd75bbc5d7930b108bcf782 - Download (conan-center)
        sqlite3/3.45.2#60f2d3278e7bc12c8ef02ac75119c137:46fbaf6d13261d8e27269f7addcf948d9d8e7b59#49646dc3eff2a72ffe50d920d7191acb - Download (conan-center)
        tcl/8.6.10#d694cc97f48640f0d66aa90b16cdc5cd:f1d0bc357fefa3c5eb52ac249889aa7f4d51014a#3a182b3e12d3739ac7bd7983dee52eac - Download (conan-center)
        tk/8.6.10#1e8cbe0b5d8257de6bc6904da048766f:bc35fac6315178de42434589f802dbd60e891f7a - Missing
        util-linux-libuuid/2.39.2#339f80aea7e5cf507b5b9839a128909f:b647c43bfefae3f830561ca202b6cfd935b56205#7d1c19f47892fc2f2b18ea1d0b030095 - Download (conan-center)
        xorg/system#98f82cb669e4ebc6b4d9d8a4f3f1faf4:da39a3ee5e6b4b0d3255bfef95601890afd80709#0ba8627bd47edc3a501e8f0eb9a79e5e - Download (conan-center)
        xz_utils/5.4.5#b885d1d79c9d30cff3803f7f551dbe66:b647c43bfefae3f830561ca202b6cfd935b56205#3abd876e19d49ed14b83cd115ff1e17c - Download (conan-center)
        zlib/1.3.1#f52e03ae3d251dec704634230cd806a2:b647c43bfefae3f830561ca202b6cfd935b56205#6b307bbcbae23635c4006543ffdbf3ef - Download (conan-center)
    Build requirements
    Skipped binaries
        autoconf/2.71, automake/1.16.5, bison/3.8.2, flex/2.6.4, gnu-config/cci.20210814, gperf/3.1, libtool/2.4.7, m4/1.4.19, meson/1.2.2, meson/1.3.2, meson/1.4.0, ninja/1.12.1, pkgconf/2.0.3, pkgconf/2.1.0
    ERROR: Missing binary: tk/8.6.10:bc35fac6315178de42434589f802dbd60e891f7a
    
    tk/8.6.10: WARN: Can't find a 'tk/8.6.10' package binary 'bc35fac6315178de42434589f802dbd60e891f7a' for the configuration:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.version=11
    os=Linux
    [options]
    fPIC=True
    shared=False
    [requires]
    brotli/1.1.Z
    bzip2/1.0.Z
    expat/2.6.Z
    fontconfig/2.13.Z
    freetype/2.13.Z
    libpng/1.6.Z
    tcl/8.6.Z
    xorg/system
    zlib/1.3.Z
    
    ERROR: Missing prebuilt package for 'tk/8.6.10'. You can try:
        - List all available packages using 'conan list "tk/8.6.10:*" -r=remote'
        - Explain missing binaries: replace 'conan install ...' with 'conan graph explain ...'
        - Try to build locally from sources using the '--build=tk/8.6.10' argument
    
    More Info at 'https://docs.conan.io/2/knowledge/faq.html#error-missing-prebuilt-package'
    
  • cpython/3.10.14:
    Didn't run or was cancelled before finishing

  • cpython/3.11.9:
    Didn't run or was cancelled before finishing

  • cpython/3.13.0:
    Didn't run or was cancelled before finishing

  • cpython/3.12.7:
    Didn't run or was cancelled before finishing

  • cpython/3.12.2:
    Didn't run or was cancelled before finishing

  • cpython/3.8.19:
    Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@Ahajha
Copy link
Contributor Author

Ahajha commented Oct 8, 2024

@ErniGH not sure why there's a missing binary error. I expect this should be working and ready for review.

Copy link

@grossag grossag left a comment

Choose a reason for hiding this comment

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

I gave this a try on my company's conan builds and found that Windows MSVC doesn't build Python 3.13.0 successfully.

The presenting error is that there is a line that no longer patches correctly:

replace_in_file(self, self._msvc_project_path("_decimal"), r"..\Modules\_decimal\libmpdec;", "")

But the overall issue is that cpython changed the formatting of that file in python/cpython@849e071

I was able to fix it using this diff:

diff --git a/recipes/cpython/all/conanfile.py b/recipes/cpython/all/conanfile.py
index d54593a..c5bd6f9 100644
--- a/recipes/cpython/all/conanfile.py
+++ b/recipes/cpython/all/conanfile.py
@@ -378,16 +378,19 @@ class CPythonConan(ConanFile):
         replace_in_file(self, self._msvc_project_path("_ssl"), '<Import Project="openssl.props" />', "")

         # For mpdecimal, we need to remove all headers and all c files *except* the main module file, _decimal.c
-        self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\.\.\\Modules\\_decimal\\.*\.h.*', "")
-        self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\.\.\\Modules\\_decimal\\libmpdec\\.*\.c.*', "")
+        if Version(self.version) < "3.13":
+            self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\.\.\\Modules\\_decimal\\.*\.h.*', "")
+            self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\.\.\\Modules\\_decimal\\libmpdec\\.*\.c.*', "")
+            replace_in_file(self, self._msvc_project_path("_decimal"), r"..\Modules\_decimal\libmpdec;", "")
+        else:
+            # https://github.com/python/cpython/commit/849e0716d378d6f9f724d1b3c386f6613d52a49d
+            # changed _decimal.vcxproj enough that we need different patching code.
+            self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\.\.\\Modules\\_decimal\\windows\\.*\.h.*', "")
+            self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\$\(mpdecimalDir\)\\libmpdec\\.*\.h.*', "")
+            self._regex_replace_in_file(self._msvc_project_path("_decimal"), r'.*Include=\"\$\(mpdecimalDir\)\\libmpdec\\.*\.c.*', "")
+            replace_in_file(self, self._msvc_project_path("_decimal"), r"..\Modules\_decimal\windows;$(mpdecimalDir)\libmpdec;", "")
         # There is also an assembly file with a complicated build step as part of the mpdecimal build
         replace_in_file(self, self._msvc_project_path("_decimal"), "<CustomBuild", "<!--<CustomBuild")
         replace_in_file(self, self._msvc_project_path("_decimal"), "</CustomBuild>", "</CustomBuild>-->")
-        # Remove extra include directory
-        replace_in_file(self, self._msvc_project_path("_decimal"), r"..\Modules\_decimal\libmpdec;", "")

@Ahajha
Copy link
Contributor Author

Ahajha commented Oct 9, 2024

@grossag Thanks! I'll apply the patch later today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Failed Missing dependencies Build failed due missing dependencies in Conan Center
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants