-
Notifications
You must be signed in to change notification settings - Fork 121
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
fix: add support for AIX #988
Conversation
Is there a reason this was closed? The Fedora failure has nothing to do with this (@LecrisUT). |
No idea need to test it with mock. Can at leaat try to rebuild. |
Account LecrisUT has no write access nor is author of PR! |
A few notes on the failed tests.
|
I withdrew it as it needs a few other adjustments that I missed. I will reopen another PR after I get the rest worked out. Specifically, XL C doesn't support the version script functionality in skbuild/resources/cmake/FindPythonExtensions.cmake, and I'll need to add some logic to skip it on the aix platform. |
Sounds good, thanks! Wanted to make sure you weren't discouraged by the unrelated failure.
I don't think |
Okay, great, just wanted to make sure you weren't discouraged by the unrelated failures.
Ahh, this is scikti-build. My brain moved to scikit-build-core at some point, and was confused since it uses |
I was looking at the reported error ( |
Upon further review, I am mistaken, with XLC, CMAKE_C_COMPILER_ID should equal "XL", and therefore the whole code block in skbuild/resources/cmake/FindPythonExtensions.cmake dealing with the version script is not applicable. I am re-opening this PR. This should be fine as-is. |
Codecov Report
@@ Coverage Diff @@
## main #988 +/- ##
==========================================
+ Coverage 85.97% 86.26% +0.28%
==========================================
Files 32 33 +1
Lines 1576 1587 +11
Branches 347 350 +3
==========================================
+ Hits 1355 1369 +14
+ Misses 157 155 -2
+ Partials 64 63 -1
|
It is worth noting, the IBM-supplied cmake 3.22 has issues. Building cmake 3.26.4 from source seemed to resolve. |
Any idea what issues? Might be worth a note in docs somewhere? (I'm probably going to mostly take your word for what works on AIX :) ) |
Here is an example:
The |
Thanks for the debug info Could you confirm that this is
We could also check |
Can't try PyPI version, there are no AIX wheels & scikit-build is required to build CMake wheels. :) |
Lol, that's a fun chicken-and-egg problem. Well, at least points 1, 2, 4 can hel narrow down |
I believe the issue is with the IBM-supplied cmake 3.22. I built cmake 3.26.4 from source and it works just fine with the exact same CMakeLists.txt listed earlier. I'm just trying to use this to build ninja-python-distributions. After installing this into my venv with the commit here, I can try to build ninja-python-distributions as follows:
The --no-build-isolation is needed to force it to use my modified version of scikit-build. It fails, but it gets further than the old message about not supporting platform aix. Here's the output:
The compiler is XL C 16.1. IBM supplies <ext/hash_map> in /opt/IBM/xlC/16.1.0/include2/c++/ext/hash_map. To me this looks like a cmake problem where it is not adding in /opt/IBM/xlC/16.1.0/include2/c++/ to the list of include paths. It also seems that ninja supports AIX but not XLC and assumes gcc on AIX. That's fine, but that's a problem with ninja, ninja-python-distributions, or cmake, not with scikit-build. But adding support to scikit-build is the first step. |
I'm working on the testing issues in #879. Once that's in, this should be unblocked. |
Also, I want to add a little note about AIX requiring a more recent CMake than it ships with, but I can probably do that. |
FYI, I also brought this issue to the attention of the IBM open source builds team. They have acknowledged the problem and have committed to providing an official build of a more recent release of CMake. |
AIX support requires a version of CMake newer than the 3.22.0 version that IBM supplies in their AIX Toolbox for Open Source Software. IBM is aware of the issue and will be providing a newer build soon, but for now we should note that users will need to build their own copy of a newer CMake on AIX at this time.
Thanks! |
No description provided.