Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

ubuntu-latest change does not include libssl1.1 #318

Open
djbberko opened this issue Jan 22, 2025 · 3 comments
Open

ubuntu-latest change does not include libssl1.1 #318

djbberko opened this issue Jan 22, 2025 · 3 comments
Labels
bug Something isn't working

Comments

@djbberko
Copy link

djbberko commented Jan 22, 2025

The bug

Github runners updated ubuntu-latest to use 24.04, which does not include libssl1.1. See here: actions/runner-images#10636
This breaks the action with the following error:

  /home/runner/work/_temp/.setup-beam/elixir/bin/mix local.rebar --force
  
  Error: 22:13:59.705 [error] Unable to load crypto library. Failed with error:
  ":load_failed, Failed to load NIF library /home/runner/work/_temp/.setup-beam/otp/lib/crypto-5.1.2/priv/lib/crypto: 'libcrypto.so.1.1: cannot open shared object file: No such file or directory'"
  OpenSSL might not be installed on this system.
  
  ** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {'builds.hex.pm', 443}}, {:inet, [:inet], {:eoptions, {:undef, [{:crypto, :supports, [], []}, {:tls_record, :sufficient_support, 1, [file: 'tls_record.erl', line: 772]}, {:tls_record, :supported_protocol_versions, 1, [file: 'tls_record.erl', line: 392]}, {:tls_record, :supported_protocol_versions, 0, [file: 'tls_record.erl', line: 380]}, {:ssl, :handle_option, 4, [file: 'ssl.erl', line: 1906]}, {:ssl, :process_options, 3, [file: 'ssl.erl', line: 1585]}, {:ssl, :handle_options, 5, [file: 'ssl.erl', line: 1537]}, {:ssl, :connect, 4, [file: 'ssl.erl', line: 618]}]}}}]}
  
  Could not install Rebar because Mix could not download metadata at https://builds.hex.pm/installs/rebar3-1.x.csv.
  
  Action mix rebar failed for mirror https://builds.hex.pm,/ with Error: The process '/home/runner/work/_temp/.setup-beam/elixir/bin/mix' failed with exit code 1
  Error: Could not mix rebar from any hex.pm mirror

How to replicate

An ordered list of steps to replicate the bug:

  1. run an action on ubuntu-latest

Expected behaviour

Install BEAM succesfully.

Additional context

Any other context about the bug.

@djbberko djbberko added the bug Something isn't working label Jan 22, 2025
@starbelly
Copy link
Member

Do you have a way to reproduce this? I'm not having issues, and have tested across a few projects, so a few more details would help. Specifically, versions of erlang, elixir, etc. Even better would be a failed run or workflow file.

@djbberko
Copy link
Author

djbberko commented Jan 23, 2025

Do you have a way to reproduce this? I'm not having issues, and have tested across a few projects, so a few more details would help. Specifically, versions of erlang, elixir, etc. Even better would be a failed run or workflow file.

I have seen this issue in both OTP 24 and 25. I unfortunately cannot share the workflow itself since it is in a private repository. Maybe the full error output will help?

Installing Erlang/OTP OTP-25.1.2.1 - built on amd64/ubuntu-20.04
  /usr/bin/tar zx --strip-components=1 --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/3ffdfa85-e042-4309-9500-c1ff77a0d36a -f /home/runner/work/_temp/7b55474a-6772-4505-a7c7-748ef3f3daad
  /home/runner/work/_temp/.setup-beam/otp/Install -minimal /home/runner/work/_temp/.setup-beam/otp
  Installed Erlang/OTP version
  /home/runner/work/_temp/.setup-beam/otp/bin/erl -version
  Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 13.1.2.1
Using Elixir 1.14.2 (built for Erlang/OTP 25)
Installing Elixir v1.14.2-otp-25
  /usr/bin/unzip -o -q /home/runner/work/_temp/984ab6ab-b323-4929-9205-cedea2e7e549
  Installed Elixir version
  /home/runner/work/_temp/.setup-beam/elixir/bin/elixir -v
  Erlang/OTP 25 [erts-13.1.2.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]
  
  Elixir 1.14.2 (compiled with Erlang/OTP 25)
Running mix local.rebar,--force
  /home/runner/work/_temp/.setup-beam/elixir/bin/mix local.rebar --force
  
  Error: 22:13:59.705 [error] Unable to load crypto library. Failed with error:
  ":load_failed, Failed to load NIF library /home/runner/work/_temp/.setup-beam/otp/lib/crypto-5.1.2/priv/lib/crypto: 'libcrypto.so.1.1: cannot open shared object file: No such file or directory'"
  OpenSSL might not be installed on this system.
  
  ** (Mix) httpc request failed with: {:failed_connect, [{:to_address, {'builds.hex.pm', 443}}, {:inet, [:inet], {:eoptions, {:undef, [{:crypto, :supports, [], []}, {:tls_record, :sufficient_support, 1, [file: 'tls_record.erl', line: 772]}, {:tls_record, :supported_protocol_versions, 1, [file: 'tls_record.erl', line: 392]}, {:tls_record, :supported_protocol_versions, 0, [file: 'tls_record.erl', line: 380]}, {:ssl, :handle_option, 4, [file: 'ssl.erl', line: 1906]}, {:ssl, :process_options, 3, [file: 'ssl.erl', line: [15](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:4:16)85]}, {:ssl, :handle_options, 5, [file: 'ssl.erl', line: 1537]}, {:ssl, :connect, 4, [file: 'ssl.erl', line: 618]}]}}}]}
  
  Could not install Rebar because Mix could not download metadata at https://builds.hex.pm/installs/rebar3-1.x.csv.
  
  Action mix rebar failed for mirror https://builds.hex.pm, with Error: The process '/home/runner/work/_temp/.setup-beam/elixir/bin/mix' failed with exit code 1
  Error: Could not mix rebar from any hex.pm mirror

And the setup

Current runner version: '2.32[1](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:1).0'
Operating System
  Ubuntu
  24.04.1
  LTS
Runner Image
  Image: ubuntu-[2](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:2)4.04
  Version: 20250105.1.0
  Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20250105.1/images/ubuntu/Ubuntu2404-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20250105.1
Runner Image Provisioner
GITHUB_TOKEN Permissions
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'octokit/request-action@v2.x' (SHA:786[3](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:3)51db496fa66730d8faa09ef279108da175a3)
Download action repository 'actions/checkout@v3' (SHA:f[4](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:4)3a0e5ff2bd29409[5](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:5)638e1828[6](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:7)ca9a3d1956744)
Download action repository 'erlef/setup-beam@v1' (SHA:5304e04ea2b355f03681464e683d92e3b2f18451)
Download action repository 'actions/cache@v3' (SHA:f4b3439a656ba812b8cb41[7](https://github.com/adRise/apollo/actions/runs/12918024493/job/36025728265#step:1:8)d2d49f9c810103092)
Complete job name: Mix Test

and the action (I have tried using the latest setup-beam version as well)

      - uses: erlef/setup-beam@v1
        with:
          otp-version: ${{ needs.init.outputs.otp_version }}
          elixir-version: ${{ needs.init.outputs.elixir_version }}

@starbelly
Copy link
Member

Do you have a way to reproduce this? I'm not having issues, and have tested across a few projects, so a few more details would help. Specifically, versions of erlang, elixir, etc. Even better would be a failed run or workflow file.

I have seen this issue in both OTP 24 and 25. I unfortunately cannot share the workflow itself since it is in a private repository. Maybe the full error output will help?

Installing Erlang/OTP OTP-25.1.2.1 - built on amd64/ubuntu-20.04
  /usr/bin/tar zx --strip-components=1 --warning=no-unknown-keyword --overwrite -C /home/runner/work/_temp/3ffdfa85-\

Shot in the dark here, but I ran into a similar issue the other day, it turned out I had ImageOS set in the env, which overrode what setup-beam attempted to detect. This was left over from temporarily moving to self-hosted runners for a bit, then back to github runners, but wasn't a problem until the recent update.

If this turns out to be the issue, what should be done perhaps is to insert a determined via ... in setup-beam, this might be helpful.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants