Skip to content

Volta setup fails on GitHub self-hosted runner #1303

Description

@scalvert

We're trying to use Volta on a self-hosted runner image (Centos 7) by way of volta-cli/action (installs and bootstraps Volta for the repo under test). Currently, when trying to install, and specifically during the setup command, installation fails with the following error:

/runner/_work/_temp/820dc87e-b753-4c79-b5e3-f826efe2c6fe/bin/volta setup
/runner/_work/_temp/820dc87e-b753-4c79-b5e3-f826efe2c6fe/bin/volta: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

OpenSSL is installed on the system, and is a version that appears supported by Volta:

/export/apps/openssl/bin/openssl version
OpenSSL 1.0.2h  3 May 2016

Which translates into downloading:

##[debug]Downloading https://github.com/volta-cli/volta/releases/download/v1.0.8/volta-1.0.8-linux-openssl-1.0.tar.gz

and subsequently triggers the failure above.

What I've tried

  1. Verifying that libssl.so.1.0.0 is linked:

    Run whereis libssl.so.1.0.0
      whereis libssl.so.1.0.0
      shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
    ##[debug]/usr/bin/bash --noprofile --norc -e -o pipefail /runner/_work/_temp/3b327cfe-878e-48a1-8a07-0b0c164194bf.sh
    libssl.so.1.0: /usr/lib64/libssl.so.1.0.2k
  2. Noticing the linked name is different, I tried adding a symlink to the version of libssl.so.1.0.0

    ln -s /usr/lib64/libssl.so.1.0.2k libssl.so.1.0.0

Any thoughts on how to solve this, @charlespierce?

Activity

  1. scalvert commented on Aug 31, 2022

    @scalvert
    ContributorAuthor

    So it appears that the Volta action didn't support installing using the RHEL variant, and as such the version that was downloaded didn't work correctly on the self-hosted image. We've verified that the volta-1.0.8-linux-openssl-rhel.tar.gz version works.

    I've opened volta-cli/action#102 to address this.

  2. charlespierce commented on Aug 31, 2022

    @charlespierce
    Contributor

    Thanks for the follow-up @scalvert, that was going to be my first question! Medium-term, I have a PR out to swap to use a Rust-based TLS implementation that's statically-linked into the binary, so we can avoid this whole class of issues with OpenSSL: #1214

  3. scalvert commented on Aug 31, 2022

    @scalvert
    ContributorAuthor

    Oh please YES! I'll take that now, TYVM.

    :)

  4. nifr commented on Oct 1, 2022

    @nifr

    Update: #1214 has been merged.

    ☑️ Statically link to Rustls instead of using OpenSSL

    It's on the main branch now and will be part of the next release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions