cloudfoundry / ruby-buildpack

Cloud Foundry buildpack for Ruby, Sinatra and Rails
http://docs.cloudfoundry.org/buildpacks/
Apache License 2.0
65 stars 160 forks source link

version `OPENSSL_1_1_1' not found #117

Closed ghost closed 4 years ago

ghost commented 5 years ago

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?

{

"name": "IBM Cloud", "build": "6.8.0", "support": "http://ibm.biz/bluemix-supportinfo", "version": 0, "description": "IBM Bluemix", ..... }

cf version 6.46.1+4934877ec.2019-08-23`

stack: cflinuxfs3

What version of the buildpack you are using?

1.7.44

If you were attempting to accomplish a task, what was it you were attempting to do?

Trying to deploy a rails app

What did you expect to happen?

Rubygems 3.0.6 to install and ultimately my command from my manifest file to be run.

What was the actual behavior?

It erred while installing rubygems. See full log below:

Please confirm where necessary:

Here is the full log:

Cell fa237ce0-8e45-4bf5-892d-33e713a58311 creating container for instance 0bac6381-f661-4088-b176-e0b9c6e93b22 Cell fa237ce0-8e45-4bf5-892d-33e713a58311 successfully created container for instance 0bac6381-f661-4088-b176-e0b9c6e93b22 Downloading app package... Downloading build artifacts cache... Downloaded build artifacts cache (116.2M) Downloaded app package (81.5M) -----> Download go 1.12.4 /tmp/buildpackdownloads/74e15f0618872988dcc80c11735739f1 ~ -----> Running go build supply ~ -----> Ruby Buildpack version 1.7.44 WARNING buildpack version changed from 1.7.42 to 1.7.44 -----> Supplying Ruby -----> Restoring vendor_bundle from cache -----> Installing bundler 2.0.2 -----> Installing bundler 1.17.3 Copy [/tmp/cache/final/dependencies/0e3458216c9675ab50e544edd32161a1534101ac688ac9af3b5fad243a87fdfe/bundler-1.17.3-any-stack-b7502506.tgz] Copy [/tmp/cache/final/dependencies/4709e59d33301cba72687db11233525eca2c3938801515552a250bd94a42a12c/bundler-2.0.2-any-stack-8f6de4eb.tgz] -----> Installing ruby 2.6.4 Download [https://buildpacks.cloudfoundry.org/dependencies/ruby/ruby-2.6.4-linux-x64-cflinuxfs3-07b3393d.tgz] -----> Update rubygems from 3.0.3 to 3.0.6 -----> Installing rubygems 3.0.6 Download [https://buildpacks.cloudfoundry.org/dependencies/rubygems/rubygems-3.0.6-any-stack-1a97a90e.tgz] /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:in require': /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1: versionOPENSSL_1_1_1' not found (required by /tmp/contents374446595/deps/0/ruby/lib/ruby/2.6.0/x86_64-linux/openssl.so) - /tmp/contents374446595/deps/0/ruby/lib/ruby/2.6.0/x86_64-linux/openssl.so (LoadError) from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:in require' from /tmp/contents374446595/deps/0/ruby/lib/ruby/2.6.0/openssl.rb:13:in<top (required)>' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:in require' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:inrequire' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/security.rb:12:in <top (required)>' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:inrequire' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:in require' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/package.rb:44:in<top (required)>' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:in require' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:inrequire' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/commands/pristine_command.rb:3:in <top (required)>' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:inrequire' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/core_ext/kernel_require.rb:54:in require' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/commands/setup_command.rb:617:inregenerate_binstubs' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/commands/setup_command.rb:176:in execute' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/command.rb:321:ininvoke_with_build_args' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/command_manager.rb:184:in process_args' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/command_manager.rb:148:inrun' from /tmp/rubygems128749912/rubygems-3.0.6/lib/rubygems/gem_runner.rb:59:in run' from setup.rb:41:in

' ERROR Bundler 1.17.3 installed RubyGems 3.0.6 installed

      **ERROR** Unable to update rubygems: Could not install rubygems: exit status 1

Failed to compile droplet: Failed to run all supply scripts: exit status 15 Exit status 223 Cell fa237ce0-8e45-4bf5-892d-33e713a58311 stopping instance 0bac6381-f661-4088-b176-e0b9c6e93b22 Cell fa237ce0-8e45-4bf5-892d-33e713a58311 destroying container for instance 0bac6381-f661-4088-b176-e0b9c6e93b22 Error staging application: App staging failed in the buildpack compile phase FAILED

cf-gitbot commented 5 years ago

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/168671543

The labels on this github issue will be updated when the story is started.

dfreilich commented 5 years ago

Hey @frshlns , thanks for the feedback. Could we get a sample app, so we can try and reproduce the error?

nickjameswebb commented 4 years ago

We were able to reproduce this by pushing https://github.com/cloudfoundry/cf-acceptance-tests/tree/master/assets/dora with Ruby version 2.5.7 (i.e. adding ruby '2.5.7' to the top of the Gemfile). We are on ruby buildpack 1.8.1 and cf version 6.47.1+0921a21b7.2019-10-18, as well as CAPI https://github.com/cloudfoundry/capi-release/releases/tag/1.74.0 (not sure if that's relevant).

roberts1000 commented 4 years ago

We hit this issue in our environment. We were able to solve it by upgrading cloud foundry to the latest point release. We didn't connect all the dots, but we think newer versions of cloud foundry use a newer version of the cflinuxfs3 stack, which, in turn, provide the correct version of openssl to the buildpack.

zmackie commented 4 years ago

@roberts1000 Can you give me the version of cf that allowed you to get past this bug?

zmackie commented 4 years ago

The culprit here is that there was a regression in canonical's abi compatibility for openssl and we had to build our ruby binaries against an older version for a while. TL;DR is that this is one of those rare cases where the buildpack needs to be run against a newer release of cflinuxfs3 as @roberts1000 discovered. Basically my recommendation is to use a newer version of CF with a relatively recent release of cflinuxfs3. You could use an older version of the buildpack, if absolutely necessary (this is not recommended as binanaries are out of support, etc.) Going to close this issue for now. Please let me know if this continues to be a problem.