Bug #11847
closedInstall error on Linux NFS system
Description
When I tried to install ruby 2.2.4 using rbenv and ruby-build, I encountered the following error.
installing bundle gems: /home/ohai/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0 (build_info, cache, doc, extensions, gems, specifications)
/tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:369:in `initialize': Permission denied @ rb_sysopen - /home/ohai/.rbenv/versions/2.2.4/lib/ruby/gems/
2.2.0/gems/minitest-5.4.3/History.txt (Errno::EACCES)
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:369:in `open'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:369:in `block (2 levels) in extract_tar_gz'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package/tar_reader.rb:64:in `each'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:351:in `block in extract_tar_gz'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:442:in `block in open_tar_gz'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:439:in `wrap'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:439:in `open_tar_gz'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:350:in `extract_tar_gz'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:331:in `block (2 levels) in extract_files'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package/tar_reader.rb:64:in `each'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:328:in `block in extract_files'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package/file_source.rb:29:in `open'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package/file_source.rb:29:in `with_read_io'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/package.rb:325:in `extract_files'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/installer.rb:722:in `extract_files'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/installer.rb:248:in `install'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/resolver/specification.rb:96:in `install'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/request_set.rb:257:in `block in install_into'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/request_set.rb:249:in `each'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/request_set.rb:249:in `install_into'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/request_set.rb:141:in `install'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems/dependency_installer.rb:394:in `install'
from /tmp/ruby-build.20151220001431.25277/ruby-2.2.4/lib/rubygems.rb:558:in `install'
from ./tool/rbinstall.rb:722:in `block (2 levels) in <main>'
from ./tool/rbinstall.rb:721:in `each'
from ./tool/rbinstall.rb:721:in `block in <main>'
from ./tool/rbinstall.rb:757:in `call'
from ./tool/rbinstall.rb:757:in `block in <main>'
from ./tool/rbinstall.rb:754:in `each'
from ./tool/rbinstall.rb:754:in `<main>'
uncommon.mk:246: recipe for target 'do-install-all' failed
make: *** [do-install-all] Error 1
This problem is solved by applying the following change on rubygems:
https://github.com/rubygems/rubygems/commit/0a76e13645e990c48491c4c555fe9f7adcc1e552
As the issue related to the above commit says, I use NFS on Linux.
Probably this problem is already solved on ruby-trunk since the change is merged into ruby-trunk.
I hope the problem will be fixed on 2.2.x.
Thank you for your attention.
Updated by nagachika (Tomoyuki Chikanaga) almost 9 years ago
- Status changed from Open to Closed
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: REQUIRED
Thank you for your report.
The pointed changes was merged into CRuby trunk at r49774.
But r49774 contains other changes.
I'll cherry pick the https://github.com/rubygems/rubygems/commit/0a76e13645e990c48491c4c555fe9f7adcc1e552 into ruby_2_2 branch.
I close this ticket because it's already done on trunk, and stable branch maintainers watch closed tickets with REQUIRED Backport field.
I didn't confirm this is reproducible on ruby_2_1 but the same code exists in lib/rubygems/package.rb in ruby_2_1, so I fill 2.1 with REQUIRED
.
usa-san, please check it.
Updated by naruse (Yui NARUSE) almost 9 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: UNKNOWN, 2.1: REQUIRED, 2.2: REQUIRED, 2.3: DONTNEED
Updated by hsbt (Hiroshi SHIBATA) over 8 years ago
- Related to Bug #12579: Backport rubygems fix from upstream repo for Ruby 2.2.x (2) added