-
-
Notifications
You must be signed in to change notification settings - Fork 105
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
Update to Python 3.12.1 #656
Conversation
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
@conda-forge-admin, please rerender |
Refresh 0005-Unvendor-openssl.patch to apply Signed-off-by: İsmail Dönmez <[email protected]>
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.12.09.07.23.46
macOS x86-64 builds fail with an ncurses related error
Python has this check to see if it can use
If I check ncurses package on macOS arm64:
I downloaded the osx-64/ncurses-6.4-h93d8f39_1.conda to double check and sure enough symbol exists there too
Interestingly,
which also should make arm64 test fail, but that's not happening. |
Apparently until python/cpython@d34650e Python3 was not correctly detecting |
Someone else, please feel free to pick this up. I think building non-wide curses on macOS doesn't make sense, but it'd be too big of a hammer. We just need to make sure Python links to |
There was a behavioral change in 3.12.0a1 which omits checking for separate ncursesw/panelw libraries on macOS. AFAICT, acc. to those changes, the system ncurses library provides by Apple has ncursesw/panelw merged into ncurses/panel such that only the latter need to be linked to. conda-forge::ncurses builds do have separate ncursesw/panelw, though. refs: - python/cpython@e925241#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7L1106 Signed-off-by: Marcel Bargull <[email protected]>
Signed-off-by: Marcel Bargull <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are multiple ways we can go about this:
- Use this patch.
- Upstream this patch.
- Change our
ncurses
builds to make wide character support available from the non-*w
names libraries.
re. 1.:
It should restore pre-3.12
linking behavior (look for ncursesw
/panelw
first and prefer those if found).
The added test command failed for 3.12.0
as expected at https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=844414&view=logs&j=f23f984a-2b8a-59f7-ed33-e22fa8dd9908&t=1d351711-1535-5fad-3bab-ff535f39fb55&l=11742 and confirms that 3.12.1
has proper wide character support in the curses
module (one can also see in the logs when ncurses
or ncursesw
are linked to).
But maintaining such patch here is not optimal, of course.
re. 2.:
There might be some preference to link to ncurses
/panel
on macOS if they have wide character support (since those from Apple/Homebrew/MacPorts builds do).
This would mean the order of preference would need to be reversed here (possibly some symbol checks added).
Note that for <=3.11
there it would link to the *w
libraries first, i.e., just like this patch does again; ref: python/cpython@e925241#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7L1106 .
re. 3.:
- Homebrew has symlinks from non-
*w
pointing to*w
libraries: - MacPorts have symlinks from
*w
poiting to non-*w
libraries: - Fedora- and Debian-based distributions seem to have separate non-
*w
libraries, i.e., without wide char support likeconda-forge::ncurses
. - Arch Linux-based distributions use linker scripts for non
-*w
libraries pointing to the*w
ones
I don't know what (if any) downsides there are to not having the wide character supported merged in to the non-*w
named libraries.
(^-- This should be copied into a discussion in the ncurses feedstock; noting it here for now so we have context to discuss on what to do with this patch.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re. 3.: Opened conda-forge/ncurses-feedstock#76 -- that's still WIP (and should only be merged after careful review after the holidays).
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.12.15.17.00.18
.ci_support/osx_64_build_typereleasechannel_targetsconda-forge_python_debug.yaml
Outdated
Show resolved
Hide resolved
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.12.15.17.00.18
@ismail, thanks for looking into this!
Yep,
Our macOS CI workers are currently x86-only such that we have to cross-compile the |
@conda-forge-admin, please restart ci |
@conda-forge-admin, please rerender |
…nda-forge-pinning 2023.12.22.17.52.11
My suggestion would be to merge this and revisit further possible actions from #656 (comment) later. @conda-forge/python, anyone else to review? |
Refresh 0005-Unvendor-openssl.patch to apply
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)