Fixes linux wheel backspace by upgrading ncurses-6.2 to 6.4#2484
Conversation
|
✔️ 99ea46c -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
|
✔️ 7b542f7 -> Azure artifacts URL |
Codecov Report
@@ Coverage Diff @@
## master #2484 +/- ##
==========================================
- Coverage 61.16% 61.08% -0.08%
==========================================
Files 630 627 -3
Lines 121443 121064 -379
==========================================
- Hits 74276 73950 -326
+ Misses 47167 47114 -53 see 13 files with indirect coverage changes 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
This comment has been minimized.
This comment has been minimized.
|
To fix #2399, we also need to make it work on mac. (Not sure if it works on x86_64, but it definitely doesn't work on M2). |
What does not work on M2? The use of ncurses-6.4? Or the existing wheel for 8.2.2 with, presumably, ncurses-6.2. I'm trying to build a wheel on my apple M1 but have not succeeded yet. |
|
The reason I though it was unique to linux wheels is that I don't see the backspace problem on my M1 with 8.2.2. |
|
The wheel for 8.2.2 with ncurses 6.2 does not work on a Mac. If everything works with ncurses 6.4 that seems better than reverting to an old version. |
That's fascinating, because I have the issue on my M2, and Pramod's #2399 shows the issue on an x86_64 mac. |
|
Now I see the issue on my M1. Perhaps I had the wrong environment. |
|
I'm still having trouble building a wheel on the M1, though now I'm getting almost to the end... I'm trying with |
|
@nrnhines : Sorry, it was my ignorance! I see that we also use static readline + ncurses 6.2 for Mac OS: https://github.com/neuronsimulator/nrn/blob/master/packaging/python/build_static_readline_osx.bash. Will get that updated soon! |
|
I figured out that _BC is undefined in libreadline :) |
…AzureCI is updated
|
@pramodk Great! With your hint, I successfully built an osx wheel for my M1 using ncurses-6.4 and it does work. Question: I presume this PR fixes the issue on osx for the next neuron-nightly. But the linux issue does not get fixed until a new Docker is published. Then our normal CI is used to build the linux neuron-nightly. I guess I'm a bit shaky on how to get all this put back into 8.2.2 (or 8.2.3?) |
I have pushed the updated image to DockerHub. So that should be also good!
Tested the same on x86 Mac and it works for me as well.
I guess we should be able to rebuild older releases as you hinted. Need to think a bit about what's the "easier" way to do this. But I guess it's not urgent and can happen in the coming week(s)? |
pramodk
left a comment
There was a problem hiding this comment.
LGTM - once we test the wheels generated from this PR build then we should be good to merge this.
|
Ted wrote I notice in I wonder if 8.2.2 was getting ncurses-6.2? (And how could we know?) |
Do we have this "weird" behaviour only with 8.2 on Windows and older version is working fine? |
Needs to be 8.2.3. The installation has changed. Features are different (e.g. backspace exists). Bugfixes are what minor versions are for. Silent updates don't get fixed on centrally managed systems and cause confusion. (e.g., "This works on my machine but not yours, and we're all using exactly the same software.")
HOC users would disagree. I have one specific person in mind. |
|
✔️ ae688ab -> Azure artifacts URL |
one specific test that failed for GPU is unrelated, cluster error. So I am going to ignore it. I downloaded the wheels produced from CI and they worked on Mac OS x86_64 and Linux. So I will merge this PR. |
@nrnhines : for windows, looking at the GitHub build log here, following versions of readline & ncurses are used today: 2023-09-01T15:25:29.7678358Z mingw-w64-x86_64-readline-8.2.001-6-any downloading...
2023-09-01T15:25:29.7670430Z mingw-w64-x86_64-ncurses-6.4.20230708-1-any downloading...So at least ncurses/readline versions are now newer. At the time of 8.2, difficult to know now. But considering pacman packages are relatively newer (?), probably there were no old versions. Does the nightly windows installer work fine? Like Mac/Linux, we might need to debug the windows issues separately. So I will go ahead and merge this. |
* Change MacOS wheel building with ncurses 6.4 as well * Secure file on AzureCI is updated * Update the documentation for better clarity Co-authored-by: Pramod S Kumbhar <pramod.s.kumbhar@gmail.com>
* Change MacOS wheel building with ncurses 6.4 as well * Secure file on AzureCI is updated * Update the documentation for better clarity Co-authored-by: Pramod S Kumbhar <pramod.s.kumbhar@gmail.com>
* Fix MacOS linux wheel backspace by upgrading ncurses-6.2 to 6.4 (#2484) * Fix Windows and Mac crash on multiline HOC statements input from terminal. (#2258) * Windows 11 fix for hoc icon. (#2279) * test using nrniv -isatty Mac and Windows have trouble with the test. * Update the documentation for better clarity * Pin cython to < 3. Workaround for #2430 (#2433) Cherry picked from 116a541. Eliminate non cython<3 changes from cherrypick * Bump VERSION to 8.2.3 in CMakeLists.txt * deal with .inputrc if missing on windows * Backport changes from github docs workflow * Disable shallow clone with the option * use docs/domains/hocdomain.py from master for latest sphinx compatibility * downgrade black version (30 python files have trivial format differences) * Picked the "final:" fragment out of the master version. Fixes "Final CI Expected --- Waiting for status to be reported" --------- Co-authored-by: Pramod S Kumbhar <pramod.s.kumbhar@gmail.com> Co-authored-by: Alexandru Săvulescu <alexandru.savulescu@epfl.ch>
Closes #2399
When new docker image is published, 8.2.2 linux wheel needs to be recreated and become what users get with
pip install neuron