-
Notifications
You must be signed in to change notification settings - Fork 170
Error installing gems with native extensions #966
Comments
From ChefDK's gem:
From vanilla ruby:
That's debug logging added to |
I am derp, my "vanilla rubygems" test was using 2.5.1 instead of 2.6.6, can confirm this is broken upstream in 2.6.6. |
Okay, so upon more detailed testing I can say this broke between Rubygems 2.6.4 and 2.6.5. |
Already submitted upstream as rubygems/rubygems#1680 |
Is this fix present in chefdk 0.17.17? I need to install a gem with native extensions (eventmachine) and am not able to do so due to this issue. If it's not released yet, is there a workaround I can use to get the gem installed?
edit: downgrading to chefdk 0.15.15 worked around the problem for now |
Works for me now in my |
- Bump mysql to 7.2 - Bump mysql2_chef_gem to 1.1.0 - Work around chef-boneyard/chef-dk#966 - fixes minor bug in postgres-server_spec and server_spec Change-Id: I6e906c5fad0360a7d9718fc5d5cda2983c3b768e Depends-On: I07ad79a93642d0f0c934a864fcb9bcd7b764e35f Implements: blueprint newton-xenial
Change-Id: I0717e97c3effaffebb19e63ec6a78f2e1b7aa80d
Trying to use ChefDK's
gem
to install something with a native extension (e.g.unf_ext
, a dependency ofkitchen-openstack
) will currently fail. I'm still debugging but wanted to checkpoint my brain to a ticket.The error is some variation on
Permission denied @ dir_s_mkdir - /opt/chefdk/embedded/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/gemname-version
. This is happening because the Rubygems is not recognizing the non-ext gem files installed to the user dir and so falls back to the default GEM_HOME for the extension install. This does not happen with a vanillagem install --user
so it has to be something related to our customizations.To repro: install ChefDK, create a non-root user, switch to the user, run
/opt/chefdk/embedded/bin/gem install --user native-gem
.The text was updated successfully, but these errors were encountered: