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

Investigate use of OpenXL17 for AIX builds #3208

Closed
sxa opened this issue Oct 11, 2023 · 13 comments · Fixed by #3230
Closed

Investigate use of OpenXL17 for AIX builds #3208

sxa opened this issue Oct 11, 2023 · 13 comments · Fixed by #3230

Comments

@sxa
Copy link
Member

sxa commented Oct 11, 2023

Related: adoptium/adoptium-support#824 (comment)

We have some interest in building AIX with xlc17 instead of xlc16. The link above indicates that a customer believes they have some issues related to JNI when the JDK is built with xlc16. There has been some upstream resistance to the change to switch over to requiring C++17 (therefore xlc17) by default although it looks like SAP has successfully built the JDK with xlc17.

We should pre-empt a change in the future by looking at installing xlc17 and verifying that it works on our existing build systems, which could also allow us to supply pre-release test builds (unsupported, untested etc. for now) with that compiler to users who desire them.

@aixtools
Copy link
Contributor

Once you have a build requirement for xlc17 aka openXL - you will also have a requirement for AIX 7.2 TL5 as that is the base requirement for the compiler itself - and it's libraries depend on these base AIX libraries.

Trying to install on AIX 7.2 TL2 (would be nearly the same for TL4 obviously):

FAILURES
--------
  Filesets listed in this section failed pre-installation verification
  and will not be installed.

  Requisite Failures
  ------------------
  SELECTED FILESETS:  The following is a list of filesets that you asked to
  install.  They cannot be installed until all of their requisite filesets
  are also installed.  See subsequent lists for details of requisites.

    libc++.rte 17.1.1.4                       # IBM XL C++ Runtime for AIX 7...
    libc++abi.rte 17.1.1.4                    # IBM XL C++ Runtime for AIX 7...
    libunwind.rte 17.1.1.4                    # IBM XL C++ Runtime for AIX 7...
    openxlCcmp.17.1.1 17.1.1.4                # XL C++ compiler
    openxlCcmp.17.1.1.bundle 17.1.1.4         # Open XL C++ media defined bu...
    openxlCcmp.17.1.1.lib 17.1.1.4            # Open XL C/C++ libraries
    openxlCcmp.17.1.1.ndi 17.1.1.4            # Open XL C++ non-default inst...
    openxlCcmp.17.1.1.tools 17.1.1.4          # Open XL C++ tools
    xlmass.10.1.1 10.1.1.1                    # IBM Mathematical Acceleratio...

  MISSING REQUISITES:  The following filesets are required by one or more
  of the selected filesets listed above.  They are not currently installed
  and could not be found on the installation media.

    bos.adt.base 7.2.5.100                    # Fileset Update
    bos.adt.include 7.2.5.100                 # Fileset Update
    bos.adt.lib 7.2.4.0                       # Base Level Fileset
    bos.adt.libm 7.2.5.0                      # Base Level Fileset
    bos.rte.bind_cmds 7.2.5.100               # Fileset Update
    bos.rte.iconv 7.2.4.0                     # Base Level Fileset
    bos.rte.libc 7.2.5.100                    # Fileset Update
    bos.rte.libcur 7.2.5.100                  # Fileset Update
    bos.rte.libpthreads 7.2.5.100             # Fileset Update
    bos.rte.security 7.2.5.100                # Fileset Update

  << End of Failure Section >>

@sxa
Copy link
Member Author

sxa commented Oct 20, 2023

OK so basically the existing machines are TL04 and TL05 is required for XLC17.
That means we can either set it up on the AIX 7.3 system that we have, or (since you mentioned that we have an adopt09 that isn't yet set up) we could set that up with 7.2TL05 for the purposes of experimenting with XLC17.
I'm happy with going for that option.

@aixtools
Copy link
Contributor

aixtools commented Oct 20, 2023

Most of ther existing systems are at 7.2 TL02 actually. There is one test system at TL04 iirc.

I'll setup adopt09 - which compilers are you actually using (ie, is xlc13 still being used?)

@sxa
Copy link
Member Author

sxa commented Oct 20, 2023

Yeah xlc13 is still being used for JDK8 so ideally we want all three.

@aixtools
Copy link
Contributor

system is up and ready for playbook configuration. o7

@sxa sxa mentioned this issue Nov 1, 2023
@sxa sxa added this to the 2023-12 (December) milestone Nov 2, 2023
@sxa
Copy link
Member Author

sxa commented Nov 2, 2023

Assigning to Haroon on the basis that he's working on the other AIX 7.3 machine and once that's settled and has a working playbook we can test the output from that on this new machine.

@sxa
Copy link
Member Author

sxa commented Dec 14, 2023

Reopening as the inventory PR shouldn't have closed this (We haven't done any testing on a suitable machine yet)

@sxa
Copy link
Member Author

sxa commented Apr 3, 2024

@Haroon-Khel It looks like the AIX 7.2 build machine -3 has had the playbooks run on it - can you remember how far we got? It doesn't seem to have the jenkins user created yet so I guess it hasn't got too far ...

@sxa
Copy link
Member Author

sxa commented Apr 3, 2024

Potentially required to resolve adoptium/aqa-tests#5169

@sxa
Copy link
Member Author

sxa commented Apr 8, 2024

Noting that the JDK23 builds now fail with the following - starting from the 14th March (Was ok on the 7th):

20:11:52  configure: Using default toolchain clang (clang/LLVM)
20:11:52  configure: Will use user supplied compiler CC=xlclang
20:11:52  checking for xlclang... /opt/IBM/xlC/16.1.0/bin/xlclang
20:11:52  checking resolved symbolic links for CC... /opt/IBM/xlC/16.1.0/bin/xlclang++
20:11:53  configure: error: A clang compiler is required. Try setting --with-tools-dir.
20:11:53  configure: The C compiler (located as /opt/IBM/xlC/16.1.0/bin/xlclang) does not seem to be the required clang compiler.
20:11:53  configure: The result from running with --version was: "IBM XL C/C++ for AIX, V16.1.0  (5725-C72, 5765-J12)
20:11:53  Version: 16.01.0000.0011"

JDK22 is currently still able to build with XLC16 so is not yet affected

@adamfarley
Copy link
Contributor

@sxa sxa modified the milestones: 2024-04 (April), 2024-05 (May) May 13, 2024
@jiekang jiekang moved this to In Progress in 2024 2Q Adoptium Plan May 15, 2024
@Haroon-Khel
Copy link
Contributor

Related adoptium/temurin-build#3822

@sxa sxa changed the title Investigate use of xlc17 for AIX builds Investigate use of OpenXL17 for AIX builds Jul 2, 2024
@sxa
Copy link
Member Author

sxa commented Jul 2, 2024

Investigation done and OpenXL is installed on an AIX7.2TL05 machine and is now live for JDK22+

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants