Project

General

Profile

Bug #11847

Install error on Linux NFS system

Added by ohai (Ippei Obayashi) about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux]
[ruby-core:72389]

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.


Related issues

Related to Ruby master - Bug #12579: Backport rubygems fix from upstream repo for Ruby 2.2.x (2)Closedusa (Usaku NAKAMURA)Actions

Updated by nagachika (Tomoyuki Chikanaga) about 4 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) about 4 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
#3

Updated by hsbt (Hiroshi SHIBATA) over 3 years ago

  • Related to Bug #12579: Backport rubygems fix from upstream repo for Ruby 2.2.x (2) added

Also available in: Atom PDF