Resolving Ruby Jessie to Stretch issue. "cannot open shared object file", cache problem

 

Recently the Ruby team made a change to their official Docker image from Debian Jessie to Stretch. This change may cause an issue with your cache that was generated previously if you are using a non-specific image tag such as: `circleci/ruby:2.3`

There are two steps to resolving and preventing this issue in the future.

1. Update your cache. Your cache is prefixed with a key, in our example, we use `v1-` as a way to version our cache. Take your key and update it to a new value, such as `v2`. This should resolve your issue.

2. To prevent this issue from happening again, pin your image. In most situations you are able to append `-jessie` or `-stretch` to any CircleCI image to set your base OS version, example: - image: circleci/ruby:2.3-jessie.

Pinning by point versions is also possible, example: - image: circleci/ruby:2.3.7-jessie

You can get even more specific and use the exact SHA256 of the image you would like to use. To find the value, navigate to on older build utilizing the image you wish to use and select the drop-down for `Spin up Environment`. Inside you will find the SHA256. Example 

circleci/ruby@sha256:df1808e61a9c32d0ec110960fed213ab2339451ca88941e9be01a03adc98396e

Was this article helpful?
2 out of 2 found this helpful

Comments

1 comment
  • I thought tagged releases don't change? Isn't that what a tag is?

Please sign in to leave a comment.