nodejs / nodejs/build

AIX playbooks failing in `baselayout` role due to `libunwind.a` dependency on OSUOSL systems

Open
#4,326 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jinja
Stars
542
Forks
185
Avg merge
22h 15m
Merged PRs (30d)
4

Description

When attempting to deploy the playbooks on the AIX 7.2 machines at OSUOSL there is a dependency problem showing up. This did not affect the IBM machines (which already had rust installed):

TASK [baselayout : install packages] *******************************************
task path: /home/sxa/git/nodebuild/ansible/roles/baselayout/tasks/main.yml:60
ok: [test-osuosl-aix72-ppc64_be-4] => (item=gcc8-c++,gcc12-c++) => {"ansible_loop_var": "package", "changed": false, "msg": "Nothing to do", "package": "gcc8-c++,gcc12-c++", "rc": 0, "results": []}
Depsolve Error occurred: 
 Problem 1: cannot install the best candidate for the job
  - nothing provides libunwind.a(libunwind.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
  - nothing provides libc++.a(libc++.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
  - nothing provides libc++abi.a(libc++abi.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
 Problem 2: package rustfmt1.88-1.88.0-1.ppc from AIX_Toolbox_72 requires rust1.88 >= 1.88.0, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides libunwind.a(libunwind.so.1) needed by rust1.88-1.88.0-0.ppc from AIX_Toolbox_72
  - nothing provides libc++.a(libc++.so.1) needed by rust1.88-1.88.0-0.ppc from AIX_Toolbox_72
  - nothing provides libc++abi.a(libc++abi.so.1) needed by rust1.88-1.88.0-0.ppc from AIX_Toolbox_72
  - nothing provides libunwind.a(libunwind.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
  - nothing provides libc++.a(libc++.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
  - nothing provides libc++abi.a(libc++abi.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
 Problem 3: package cargo1.88-1.88.0-1.ppc from AIX_Toolbox_72 requires rust1.88 >= 1.88.0, but none of the providers can be installed
  - cannot install the best candidate for the job
  - nothing provides libunwind.a(libunwind.so.1) needed by rust1.88-1.88.0-0.ppc from AIX_Toolbox_72
  - nothing provides libc++.a(libc++.so.1) needed by rust1.88-1.88.0-0.ppc from AIX_Toolbox_72
  - nothing provides libc++abi.a(libc++abi.so.1) needed by rust1.88-1.88.0-0.ppc from AIX_Toolbox_72
  - nothing provides libunwind.a(libunwind.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
  - nothing provides libc++.a(libc++.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72
  - nothing provides libc++abi.a(libc++abi.so.1) needed by rust1.88-1.88.0-1.ppc from AIX_Toolbox_72", "package": "bash,cmake,coreutils,curl,gcc-c++,tar,unzip,git,make,sudo,python3-setuptools,python3,xz,rust1.88,cargo1.88,rustfmt1.88

This is from the AIX system package libunwind.rte which is part of the IBM_OPEN_XL_CPP_RUNTIME_17.1.4.1_AIX.tar.Z package archive from IBM so that will need to be installed in order to resolve this. Ref: https://github.com/nodejs/build/blob/main/ansible/MANUAL_STEPS.md#install-clang-backend

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with ansible/roles/baselayout/tasks/main.yml at the package-install task and the referenced install-clang-backend section in ansible/MANUAL_STEPS.md. Reproduce the AIX 7.2 OSUOSL failure, then verify that installing the IBM_OPEN_XL_CPP_RUNTIME_17.1.4.1_AIX.tar.Z contents resolves libunwind.a, libc++.a, and libc++abi.a so the playbook installs rust, cargo, and rustfmt successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible, rust
Domain
devops, infrastructure, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.