adoptium / adoptium/infrastructure

Ansible request for AIX: Correct libc++ runtime environment.

Open
#2,421 4 comments 0 reactions 0 assignees View on GitHub
ansible
Dominant language
Python
Stars
96
Forks
106
Avg merge
1d 23h
Merged PRs (30d)
13

Description

- Historically, the builds requiring xlc16 (e.g., openj9) have also added two OSS packages: `libgcc` and `libgcc8`.
- These were needed because the (beta/GA) release of xlc16 - did not have the rte library package `libc++.rte`.
- This library is provided by IBM, both in the xlC16 package, as in a separate 'runt-time-only' package.
- As, such, NOT using the IBM provided library (in particular `libatomic.a`) may introduce unexpected issues.

- [x] Missing install
- [x] Bug in ansible playbook
- [ ] Request for new playbook addition

Details:

Current:
```
p159a01:/ # rpm -qa | grep gcc
libgcc-8-1.ppc
libgcc8-8.3.0-4.ppc
p159a01:/ # rpm -ql libgcc
/opt/freeware/lib/libatomic.a
/opt/freeware/lib/libgcc_s.a
/opt/freeware/lib/pthread/libatomic.a
/opt/freeware/lib/pthread/libgcc_s.a
/opt/freeware/lib/pthread/ppc64/libatomic.a
/opt/freeware/lib/pthread/ppc64/libgcc_s.a
/opt/freeware/lib64/libatomic.a
/opt/freeware/lib64/libgcc_s.a
p159a01:/ # rpm -ql libgcc8
/opt/freeware/doc/libgcc8-8.3.0
/opt/freeware/doc/libgcc8-8.3.0/COPYING
/opt/freeware/doc/libgcc8-8.3.0/COPYING.LIB
/opt/freeware/doc/libgcc8-8.3.0/COPYING3
/opt/freeware/doc/libgcc8-8.3.0/COPYING3.LIB
/opt/freeware/lib/gcc
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/libatomic.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/libgcc_s.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/ppc64
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/ppc64/libatomic.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/ppc64/libgcc_s.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/pthread
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/pthread/libatomic.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/pthread/libgcc_s.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/pthread/ppc64
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/pthread/ppc64/libatomic.a
/opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/pthread/ppc64/libgcc_s.a
```
Desired:
```
jenkins@adopt08:[/home/jenkins/bin]lslpp -f libc++.rte
Fileset File
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
libc++.rte 16.1.0.2 /usr/lpp/xlC/lib/aix61/libatomic.a
/usr/lpp/xlC
/usr/lib/libatomic.a -> /usr/lpp/xlC/lib/libatomic.a
/usr/lib/libc++.a -> /usr/lpp/xlC/lib/libc++.a
/usr/lpp/xlC/lib
/usr/lpp/xlC/lib/aix61/libc++.a
/usr/lpp/xlC/lib/aix61
```

Contributor guide

Open the contributing guide

Research direction

Locate the Ansible playbook responsible for provisioning builds requiring xlc16 on AIX and inspect how libgcc and libgcc8 are installed. Compare that package setup with the requested libc++.rte fileset and verify the resulting runtime environment on an AIX host; done means the IBM-provided runtime is used instead of the conflicting OSS libraries.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.