adoptium / infrastructure

This repo contains all information about machine maintenance.
Apache License 2.0
85 stars 101 forks source link

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

Open aixtools opened 2 years ago

aixtools commented 2 years ago

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
sxa commented 2 years ago

What is the proposed change here? Install the libc++ runtime (I'm surprised it works at all if that's not installed - I wouldn't expect the GNU one to work in place of it)

aixtools commented 2 years ago
sxa commented 2 years ago

I'm not quite clear on what the output from dsh-adopt.ksh lslpp -Lcq libc++.rte is showing me but we do not directly install libstdc++ from the playbooks as far as I'm aware but it is pulled in due to being required by a number of other packages, including cmake which is required for building OpenJ9 and python2 which will be required by yum so it's unlikely to be trivial to remove without causing side effects:

jenkins@p8-aix1-adopt01:[/home/jenkins]rpm -q --whatrequires libstdc++
ncurses-6.2-2.ppc
gmp-6.1.2-1.ppc
gettext-0.20.2-1.ppc
python-2.7.18-1.ppc
pcre-8.44-1.ppc
libtiff-4.1.0-1.ppc
libstdc++-devel-8-1.ppc
cmake-3.16.0-2.ppc
jenkins@p8-aix1-adopt01:[/home/jenkins]

Perhaps as an alternative we should experiment and try running the test suites without freeware in the PATH or LIBPATH at all.

aixtools commented 2 years ago