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

cpython: avoid invalid configurations #25500

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

Conversation

valgur
Copy link
Contributor

@valgur valgur commented Oct 3, 2024

Summary

Changes to recipe: cpython/[*]

Motivation

The cpython recipe is currently marked as invalid on

  • macOS x86_64 due to tk and ncurses not supporting cross-building.
    tk/8.6.10: Invalid: The tk conan recipe does not currently support Macos cross-builds. A contribution to add this functionality would be welcome.
    ncurses/6.4: Invalid: Cross building to/from arm is (currently) not supported
  • cpython/*:shared=False on MSVC for v3.10 and greater due to build errors.
    cpython/3.12.7: Invalid ID: Static msvc build disabled (>=3.10) due to "AttributeError: module 'sys' has no attribute 'winver'"

Both of these are avoidable.

This affects the build of these configurations for nanobind, for example: #20297 (comment)

/cc @Ahajha

Details


@conan-center-bot

This comment has been minimized.

@Ahajha
Copy link
Contributor

Ahajha commented Oct 4, 2024

I like the goal here. There's another invalid config, relating to mpdecimal on Windows/shared. The cxx option is enabled by default, but is incompatible with the shared option on Windows, so the Windows/all shared build is invalid. So probably want to also just disable the cxx option, at least on Windows.

Fixing the issues that come up from these might not be trivial, but I can take a look if I have some spare time. It might not be a bad idea to split this into a few PRs if it gets difficult.

@conan-center-bot

This comment has been minimized.

@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 3 (4d5827560711bf9d10efc553871517b3f6bbb9e6):

  • 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
    
    [...]
    conaninfo.txt
    conanrun.sh
    conanrunenv-release-x86_64.sh
    deactivate_conanbuild.sh
    deactivate_conanrun.sh
    deactivate_conanrunenv-release-x86_64.sh
    gdbm.db
    graph_info.json
    lib
    cpython/3.12.7 (test package): Result of test was expected.
    
    ----Running------
    > . "/home/conan/workspace/prod-v1/bsr/cci-9063dba4/recipes/cpython/all/test_v1_package/build/90006a92d3e6c2f4fbf13a4358e3e69a582d2a46/conanbuild.sh" && bin/test_package
    -----------------
    Today is Mon Oct  7 03:42:34 2024
    Using Python_ADDITIONAL_VERSIONS: 3.12.7;3.12;3;3.12.7;3.12;3
    Python3_EXECUTABLE: /home/conan/workspace/prod-v1/bsr/107435/adaca/.conan/data/cpython/3.12.7/_/_/package/689403d698ad8a6e7a5ed616ae7311e3a0e517de/bin/python3.12
    Python3_INTERPRETER_ID: Python
    Python3_VERSION: 3.12.7
    Python3_INCLUDE_DIRS: /home/conan/workspace/prod-v1/bsr/107435/adaca/.conan/data/cpython/3.12.7/_/_/package/689403d698ad8a6e7a5ed616ae7311e3a0e517de/include/python3.12
    Python3_LIBRARIES: /home/conan/workspace/prod-v1/bsr/107435/adaca/.conan/data/cpython/3.12.7/_/_/package/689403d698ad8a6e7a5ed616ae7311e3a0e517de/lib/libpython3.12.a
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_EXPORT_NO_PACKAGE_REGISTRY
        CMAKE_INSTALL_BINDIR
        CMAKE_INSTALL_DATAROOTDIR
        CMAKE_INSTALL_INCLUDEDIR
        CMAKE_INSTALL_LIBDIR
        CMAKE_INSTALL_LIBEXECDIR
        CMAKE_INSTALL_OLDINCLUDEDIR
        CMAKE_INSTALL_SBINDIR
    
    
    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 
    cpython/3.12.7 (test package): WARN: 
         ************************************************
         The 'cmake' generator is deprecated.
         Please update your code and remove it.
         *************************************************
    
    cpython/3.12.7 (test package): WARN: **** The 'from conans import CMake' helper is deprecated. Please update your code and remove it. ****
    
  • cpython/3.12.2:
    Didn't run or was cancelled before finishing

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

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

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

  • cpython/3.10.14:
    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 3 (4d5827560711bf9d10efc553871517b3f6bbb9e6):

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

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

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

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

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

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

    Logs for packageID 04532a7f28bad8394e6adc81d59189e10ce33256:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=apple-clang
    compiler.cppstd=17
    compiler.libcxx=libc++
    compiler.version=13
    os=Macos
    [options]
    */*:shared=False
    
    [...]
    sqlite3/3.45.2: Retrieving package cba20dbd31e3a53330299d98db1e609461f2a3a1 from remote 'conan-center' 
    sqlite3/3.45.2: Package installed cba20dbd31e3a53330299d98db1e609461f2a3a1
    sqlite3/3.45.2: Downloaded package revision f25de4d0dfcb84eb4ad0b4c7c76bcdb4
    xz_utils/5.4.5: Retrieving package d62dff20d86436b9c58ddc0162499d197be9de1e from remote 'conan-center' 
    xz_utils/5.4.5: Package installed d62dff20d86436b9c58ddc0162499d197be9de1e
    xz_utils/5.4.5: Downloaded package revision e7e701d5c6b6c1cefabf4d83a043f82a
    zlib/1.3.1: Retrieving package d62dff20d86436b9c58ddc0162499d197be9de1e from remote 'conan-center' 
    zlib/1.3.1: Package installed d62dff20d86436b9c58ddc0162499d197be9de1e
    zlib/1.3.1: Downloaded package revision c4506d0ca4188035101e46f9b99cc29f
    gdbm/1.23: Retrieving package c2e0b97811fca19961df06c6397496a898589b98 from remote 'conan-center' 
    gdbm/1.23: Package installed c2e0b97811fca19961df06c6397496a898589b98
    gdbm/1.23: Downloaded package revision 08c62dd2d703bd861d75036a8e2e5b42
    libxcrypt/4.4.36: Retrieving package d62dff20d86436b9c58ddc0162499d197be9de1e from remote 'conan-center' 
    libxcrypt/4.4.36: Package installed d62dff20d86436b9c58ddc0162499d197be9de1e
    libxcrypt/4.4.36: Downloaded package revision af0e2669d1d5bc8c6b88c014e771a979
    openssl/3.3.2: Retrieving package 85a50ad6024a51a54e17f9661b5d30ecb2b33742 from remote 'conan-center' 
    openssl/3.3.2: Package installed 85a50ad6024a51a54e17f9661b5d30ecb2b33742
    openssl/3.3.2: Downloaded package revision 6859054fea9224247a21f725e992890f
    gdbm/1.23: Appending PATH environment variable: /Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/gdbm151c3cfe442d1/p/bin
    cpython/3.8.19: Calling source() in /Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/cpythea3d99981cc88/s/src
    cpython/3.8.19: Downloading 25.3MB c7fa55a36e5c7a19ec37d8f90f60a2197548908c9ac8b31e7c0dbffdd470eeac
    cpython/3.8.19: Sources for https://www.python.org/ftp/python/3.8.19/Python-3.8.19.tgz found in remote backup https://c3i.jfrog.io/artifactory/conan-center-backup-sources/
    cpython/3.8.19: Unzipping Python-3.8.19.tgz to .
    
    -------- Installing package cpython/3.8.19 (11 of 11) --------
    cpython/3.8.19: Building from source
    cpython/3.8.19: Package cpython/3.8.19:04532a7f28bad8394e6adc81d59189e10ce33256
    cpython/3.8.19: Copying sources to build folder
    cpython/3.8.19: Building your package in /Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/b/cpytha5ce942c8f294/b
    cpython/3.8.19: Calling generate()
    cpython/3.8.19: Generators folder: /Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/b/cpytha5ce942c8f294/b/build-release/conan
    cpython/3.8.19: Generating aggregated env files
    cpython/3.8.19: Generated aggregated env files: ['conanbuild.sh']
    cpython/3.8.19: Calling build()
    cpython/3.8.19: Apply patch (portability): Remove duplicate libffi symbols and support shared libffi
    cpython/3.8.19: Apply patch (conan): Allow package to be relocatable
    cpython/3.8.19: Apply patch (conan): Remove section of solution file forcing projects to be built that might not be used for this recipe
    cpython/3.8.19: RUN: "/Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/b/cpytha5ce942c8f294/b/src/configure" --disable-shared --prefix=/Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/b/cpytha5ce942c8f294/p '--bindir=${prefix}/bin' '--sbindir=${prefix}/bin' '--libdir=${prefix}/lib' '--includedir=${prefix}/include' '--oldincludedir=${prefix}/include' --host=x86_64-apple-darwin --build=aarch64-apple-darwin --with-doc-strings=yes --with-pymalloc=yes --with-system-expat --enable-optimizations=no --with-lto=no --with-pydebug=no --with-system-libmpdec --with-openssl=/Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/opensfed589a3aefa8/p --with-system-ffi --enable-loadable-sqlite-extensions=yes 
    checking build system type... aarch64-apple-darwin
    checking host system type... x86_64-apple-darwin
    checking for python3.8... no
    checking for python3... python3
    checking for python interpreter for cross build... configure: error: python3.8 interpreter not found
    
    cpython/3.8.19: ERROR: 
    Package '04532a7f28bad8394e6adc81d59189e10ce33256' build failed
    cpython/3.8.19: WARN: Build folder /Users/jenkins/workspace/prod-v2/bsr/95700/bfcba/p/b/cpytha5ce942c8f294/b/build-release
    ERROR: cpython/3.8.19: Error in build() method, line 550
    	autotools.configure()
    	ConanException: Error 1 while executing
    

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants