Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Install Deployment Dependencies Fails - Nokogiri #1295

Open
GarrettPoore opened this issue Dec 26, 2024 · 3 comments
Open

Install Deployment Dependencies Fails - Nokogiri #1295

GarrettPoore opened this issue Dec 26, 2024 · 3 comments

Comments

@GarrettPoore
Copy link

Hi, we use the S3 provider for dpl, but a quick search suggests this might impact other providers. Nokogiri pushed out a new version yesterday (12/25) and since they are deploys are failing with the following error:

Installing deployment dependencies
Installing gem dependencies: nokogiri (~> 1.15), aws-sdk-s3 (~> 1), mime-types (~> 3.4.1)
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
ERROR: It looks like you're trying to use Nokogiri as a precompiled native gem on a system
       with an unsupported version of glibc.
  /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/travis/.rvm/gems/ruby-3.3.5/gems/nokogiri-1.18.0-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so) - /home/travis/.rvm/gems/ruby-3.3.5/gems/nokogiri-1.18.0-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so
  If that's the case, then please install Nokogiri via the `ruby` platform gem:
      gem install nokogiri --platform=ruby
  or:
      bundle config set force_ruby_platform true
  Please visit https://nokogiri.org/tutorials/installing_nokogiri.html for more help.
@nikhilo
Copy link

nikhilo commented Dec 27, 2024

We are also facing the same issue. I tried installing a lower version of nokogiri in before_deploy step

$ rvm use $(travis_internal_ruby) --fuzzy do ruby -S gem install nokogiri -v 1.17.2
Fetching nokogiri-1.17.2-x86_64-linux.gem
Successfully installed nokogiri-1.17.2-x86_64-linux
1 gem installed

But the deploy step still installs the latest version and fails

dpl s3 --bucket example-bucket --region us-east-1 --access_key_id AAA --secret_access_key BBB --upload_dir release --verbose
Installing deployment dependencies
Installing gem dependencies: nokogiri (~> 1.15), aws-sdk-s3 (~> 1), mime-types (~> 3.4.1)
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock
GemWrappers: Can not wrap not executable file: /home/travis/.rvm/gems/ruby-3.3.5/bin/racc.lock

ERROR: It looks like you're trying to use Nokogiri as a precompiled native gem on a system
       with an unsupported version of glibc.

  /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/travis/.rvm/gems/ruby-3.3.5/gems/nokogiri-1.18.0-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so) - /home/travis/.rvm/gems/ruby-3.3.5/gems/nokogiri-1.18.0-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so

  If that's the case, then please install Nokogiri via the `ruby` platform gem:
      gem install nokogiri --platform=ruby
  or:
      bundle config set force_ruby_platform true

  Please visit https://nokogiri.org/tutorials/installing_nokogiri.html for more help.

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/travis/.rvm/gems/ruby-3.3.5/gems/nokogiri-1.18.0-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so) - /home/travis/.rvm/gems/ruby-3.3.5/gems/nokogiri-1.18.0-x86_64-linux-gnu/lib/nokogiri/3.3/nokogiri.so (LoadError)

gem list output

travis@travis-job-5de3e9a0-4316-4fa7-a7a5-72b21b07ff99:~/build/org/app$ gem list | grep noko
nokogiri (1.18.0 x86_64-linux-gnu, 1.17.2 x86_64-linux, 1.16.7 x86_64-linux)

Above output is from a debug session ☝🏽

@GarrettPoore
Copy link
Author

Seeing someone found a workaround on the community forums. I tried a similar change and it works for me.

My build uses Java, and just has the default dist value (xenial). Adding the following line to the .travis.yml fixed my deployments:

dist: jammy

@nikhilo FYI

@nikhilo
Copy link

nikhilo commented Jan 8, 2025

@GarrettPoore Thanks. Our build uses Erlang. And the availability of the Erlang (OTP) versions changes in xenial vs jammy. Unfortunately it's a huge task for us to switch the build environment from xenial to jammy. 😢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants