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

Build controls for AIX with xlclang and openxl toolchains #422

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

tjcw
Copy link

@tjcw tjcw commented Nov 6, 2024

Proposed changes

Supply build controls for AIX xlclang and openxl toolchains

Types of changes

What types of changes does your code introduce?

Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Documentation content changes
  • Other (please describe):

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I searched the discussions
  • I searched the closed and open issues
  • I read the contribution guidelines
  • I added myself to the copyright attributions for significant changes
  • I checked that tests pass locally with my changes
  • I added tests that prove my fix is effective or that my feature works
  • I added necessary documentation (if appropriate)

Further comments

If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Copy link
Member

@grafikrobot grafikrobot left a comment

Choose a reason for hiding this comment

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

How is this different than #421 ??

@grafikrobot grafikrobot marked this pull request as draft November 11, 2024 00:58
@tjcw
Copy link
Author

tjcw commented Nov 11, 2024

This PR is different from #421 . This one introduces support for openxl and xlclang tool chains on AIX . #421 works around a deficiency in AIX directory name support.

@tjcw
Copy link
Author

tjcw commented Nov 11, 2024

I see the test fails with messages

src/tools/openxl.jam has documentation but is not included anywhere, uses tags: doc
src/tools/xlclang.jam has documentation but is not included anywhere, uses tags: doc

Please can someone tell me how to link these into the documentation system to get the tests to pass. Thanks !

@grafikrobot
Copy link
Member

Please can someone tell me how to link these into the documentation system to get the tests to pass. Thanks !

It means they need to get added to the reference doc in the right section.. https://github.com/bfgroup/b2/blob/main/doc/src/reference.adoc

@tjcw
Copy link
Author

tjcw commented Nov 12, 2024

How is this different than #421 ??

I have closed #421 as not being required. I think this one is now ready for review and removing the 'draft' label.

@tjcw
Copy link
Author

tjcw commented Nov 12, 2024

I have added the files as required

@grafikrobot grafikrobot marked this pull request as ready for review November 13, 2024 14:40
@tjcw
Copy link
Author

tjcw commented Nov 15, 2024

So is the failing check related to the change?
You should be able to look at the patch and verify that it only changes things for xlclang and openxl tool chains , i.e. it is only an AIX change and you do not have any AIX tests.

Something caused a test to run for an hour until cancelled, but I don't think my change did it.

What next ?

@grafikrobot
Copy link
Member

So is the failing check related to the change? You should be able to look at the patch and verify that it only changes things for xlclang and openxl tool chains , i.e. it is only an AIX change and you do not have any AIX tests.

Something caused a test to run for an hour until cancelled, but I don't think my change did it.

It's a recurring problem that I haven't been able to track down (as it only happens in CI). I'm rerunning the checks.

What next ?

Here's the thing.. I'm unhappy with yet more toolsets for the IBM compilers. As they are all almost identical. Ideally we would have just one toolset that handles the variation internally. I started sketching out such a toolset a few days ago. But it's going to take some time for me to get it sufficiently complete to test (as I have ISO WG21 meetings this week). Would you be able to test and help out further tweaking of such a combined toolset?

@tjcw
Copy link
Author

tjcw commented Nov 16, 2024

Yes, I can help with that. Just tell me which repo to clone and what command to run.

@tjcw
Copy link
Author

tjcw commented Nov 17, 2024

I will need to ask my manager whether I can run your code on my IBM owned AIX box. If the answer is no, then the boost project could buy the usage you need in the IBM cloud here https://cloud.ibm.com/power/overview . I think there are also possibilities on university-owned machines but I don't have a reference to hand.

@tjcw
Copy link
Author

tjcw commented Nov 18, 2024

Take a look at https://community.ibm.com/community/user/powerdeveloper/blogs/linda-alkire-kinnunen/2022/08/08/accelerate-your-open-source-development-with-acces ; in particular the IBM Technology Zone. This grants access for 2 weeks at a time, extendable to 4 weeks, to AIX systems at no charge; which sounds like exactly the access you need for your testing.
My manager was out sick today so I haven't been able to ask him whether your prototype b2 code would be allowed on my IBM AIX system. I can't see it being a problem, because I am generally allowed to use any open source code I can get my hands on (IBM is pickier about what it will distribute integrated into an IBM product) and I take it you will make the prototype code available under the same terms as the main BOOST code. But I do have to ask.

@grafikrobot
Copy link
Member

Take a look at https://community.ibm.com/community/user/powerdeveloper/blogs/linda-alkire-kinnunen/2022/08/08/accelerate-your-open-source-development-with-acces ; in particular the IBM Technology Zone. This grants access for 2 weeks at a time, extendable to 4 weeks, to AIX systems at no charge; which sounds like exactly the access you need for your testing.

I have access to the GCC compile farm. Which includes 2 AIX machines. But I haven't had time to check if they have the IBM compilers installed (doing triple duty this week with wg21 meeting going on). But if the gcc farm doesn't have the compilers the above sounds like it could work out.

My manager was out sick today so I haven't been able to ask him whether your prototype b2 code would be allowed on my IBM AIX system. I can't see it being a problem, because I am generally allowed to use any open source code I can get my hands on (IBM is pickier about what it will distribute integrated into an IBM product) and I take it you will make the prototype code available under the same terms as the main BOOST code. But I do have to ask.

It's just going to be a branch in the regular B2 repo (i.e. here) with the regular Boost license. And technically will be a consolidation of the two existing toolsets and your two toolsets into a single ibmcxx.jam file.

@tjcw
Copy link
Author

tjcw commented Nov 19, 2024

I'm told that Sangamesh Mallayya, [email protected], manages AIX systems at OSU which are available for open source development. Let him know that you need xlC, openxl, and ibmclang compilers installed and you should be good to go.

@tjcw
Copy link
Author

tjcw commented Nov 20, 2024

Power ISV Lab Questionnaire - New ISV.docx
Here is a form to request access to an AIX system in Poughkeepsie, NY. If you want access there, fill in the details and send it back to me ( [email protected] )

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

Successfully merging this pull request may close these issues.

2 participants