Project

General

Profile

Actions

Bug #13511

closed

gem install fails on UNIX accounts with limited process count.

Bug #13511: gem install fails on UNIX accounts with limited process count.

Added by hugespider (Clauss Gigantisch) over 8 years ago. Updated over 8 years ago.

Status:
Third Party's Issue
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.6p396 (2016-11-15 revision 56800) [x86_64-freebsd10.3]
[ruby-core:80873]

Description

On web hosting server ( paid remote server ) I cannot build libv8, because building system runs out of available processes.
Process limit is set to fixed value on that account.

So far I see no way to pass that limit to gem's building system so it runs out of available processes count and aborts because of that.

$ gem install libv8 Building native extensions. This could take a while... ERROR: Error installing libv8:	ERROR: Failed to build gem native extension. current directory: /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/ext/libv8 /home/spide/.rvm/rubies/ruby-2.2.6/bin/ruby -r ./siteconf20170424-25391-1h47ct5.rb extconf.rb creating Makefile v8/third_party/icu (ERROR) ---------------------------------------- [0:01:05] Started. [0:01:05] Traceback (most recent call last): File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 962, in _Clone self._Run(clone_cmd, options, cwd=self._root_dir, retry=True) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 1249, in _Run gclient_utils.CheckCallAndFilterAndHeader(cmd, env=env, **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 293, in CheckCallAndFilterAndHeader return CheckCallAndFilter(args, **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 557, in CheckCallAndFilter **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/subprocess2.py", line 262, in __init__ % (str(e), kwargs.get('cwd'), args[0])) OSError: Execution failed with error: [Errno 35] Resource temporarily unavailable. Check that /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor or git exist and have execution permission. ---------------------------------------- Traceback (most recent call last): File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 2360, in <module> sys.exit(main(sys.argv[1:])) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 2346, in main return dispatcher.execute(OptionParser(), argv) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/subcommand.py", line 252, in execute return command(parser, args[1:]) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 2099, in CMDsync ret = client.RunOnDeps('update', args) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 1550, in RunOnDeps work_queue.flush(revision_overrides, command, args, options=self._options) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 1112, in run self.item.run(*self.args, **self.kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 850, in run file_list) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 166, in RunCommand return getattr(self, command)(options, args, file_list) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 450, in update self._Clone(revision, url, options) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 962, in _Clone self._Run(clone_cmd, options, cwd=self._root_dir, retry=True) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 1249, in _Run gclient_utils.CheckCallAndFilterAndHeader(cmd, env=env, **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 293, in CheckCallAndFilterAndHeader return CheckCallAndFilter(args, **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 557, in CheckCallAndFilter **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/subprocess2.py", line 262, in __init__ % (str(e), kwargs.get('cwd'), args[0])) OSError: Execution failed with error: [Errno 35] Resource temporarily unavailable. Check that /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor or git exist and have execution permission. Running: gclient root Running: gclient config --spec 'solutions = [ { "managed": False, "name": "v8", "url": "https://chromium.googlesource.com/v8/v8.git", "custom_deps": {}, "deps_file": "DEPS", "safesync_url": "", }, ] ' Running: gclient sync --with_branch_heads Traceback (most recent call last): File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 353, in <module> sys.exit(main()) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 348, in main return run(options, spec, root) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 342, in run return checkout.init() File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 142, in init self.run_gclient(*sync_cmd) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 76, in run_gclient return self.run(cmd_prefix + cmd, **kwargs) File "/usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 66, in run return subprocess.check_output(cmd, **kwargs) File "/usr/local/lib/python2.7/subprocess.py", line 219, in check_output raise CalledProcessError(retcode, cmd, output=output) subprocess.CalledProcessError: Command '('gclient', 'sync', '--with_branch_heads')' returned non-zero exit status 1 /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:109:in `block in setup_build_deps!': unable to fetch v8 source (RuntimeError)	from /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:107:in `chdir'	from /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:107:in `setup_build_deps!'	from /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:63:in `build_libv8!'	from /usr/home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5/ext/libv8/location.rb:24:in `install!'	from extconf.rb:7:in `<main>' extconf failed, exit code 1 Gem files will remain installed in /home/spide/.rvm/gems/ruby-2.2.6/gems/libv8-5.3.332.38.5 for inspection. Results logged to /home/spide/.rvm/gems/ruby-2.2.6/extensions/x86_64-freebsd-10/2.2.0/libv8-5.3.332.38.5/gem_make.out 

Updated by nobu (Nobuyoshi Nakada) over 8 years ago Actions #1 [ruby-core:80876]

  • Status changed from Open to Rejected

Try gem install --user-install.

Updated by hugespider (Clauss Gigantisch) over 8 years ago Actions #2 [ruby-core:80887]

nobu (Nobuyoshi Nakada) wrote:

Try gem install --user-install.

Like this?

$ gem install libv8 --user-install WARNING: You don't have /home/spider/.gem/ruby/2.2.0/bin in your PATH, gem executables will not run. Building native extensions. This could take a while... ERROR: Error installing libv8:	ERROR: Failed to build gem native extension. current directory: /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/ext/libv8 /home/spider/.rvm/rubies/ruby-2.2.6/bin/ruby -r ./siteconf20170426-51278-i2ejt3.rb extconf.rb creating Makefile v8/third_party/instrumented_libraries (ERROR) ---------------------------------------- [0:01:11] Started. [0:01:11] Traceback (most recent call last): File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 962, in _Clone self._Run(clone_cmd, options, cwd=self._root_dir, retry=True) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 1249, in _Run gclient_utils.CheckCallAndFilterAndHeader(cmd, env=env, **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 293, in CheckCallAndFilterAndHeader return CheckCallAndFilter(args, **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 557, in CheckCallAndFilter **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/subprocess2.py", line 262, in __init__ % (str(e), kwargs.get('cwd'), args[0])) OSError: Execution failed with error: [Errno 35] Resource temporarily unavailable. Check that /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor or git exist and have execution permission. ---------------------------------------- Traceback (most recent call last): File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 2360, in <module> sys.exit(main(sys.argv[1:])) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 2346, in main return dispatcher.execute(OptionParser(), argv) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/subcommand.py", line 252, in execute return command(parser, args[1:]) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 2099, in CMDsync ret = client.RunOnDeps('update', args) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 1550, in RunOnDeps work_queue.flush(revision_overrides, command, args, options=self._options) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 1112, in run self.item.run(*self.args, **self.kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient.py", line 850, in run file_list) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 166, in RunCommand return getattr(self, command)(options, args, file_list) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 450, in update self._Clone(revision, url, options) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 962, in _Clone self._Run(clone_cmd, options, cwd=self._root_dir, retry=True) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_scm.py", line 1249, in _Run gclient_utils.CheckCallAndFilterAndHeader(cmd, env=env, **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 293, in CheckCallAndFilterAndHeader return CheckCallAndFilter(args, **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/gclient_utils.py", line 557, in CheckCallAndFilter **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/subprocess2.py", line 262, in __init__ % (str(e), kwargs.get('cwd'), args[0])) OSError: Execution failed with error: [Errno 35] Resource temporarily unavailable. Check that /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor or git exist and have execution permission. Running: gclient root Running: gclient config --spec 'solutions = [ { "managed": False, "name": "v8", "url": "https://chromium.googlesource.com/v8/v8.git", "custom_deps": {}, "deps_file": "DEPS", "safesync_url": "", }, ] ' Running: gclient sync --with_branch_heads Traceback (most recent call last): File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 353, in <module> sys.exit(main()) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 348, in main return run(options, spec, root) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 342, in run return checkout.init() File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 142, in init self.run_gclient(*sync_cmd) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 76, in run_gclient return self.run(cmd_prefix + cmd, **kwargs) File "/usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/vendor/depot_tools/fetch.py", line 66, in run return subprocess.check_output(cmd, **kwargs) File "/usr/local/lib/python2.7/subprocess.py", line 219, in check_output raise CalledProcessError(retcode, cmd, output=output) subprocess.CalledProcessError: Command '('gclient', 'sync', '--with_branch_heads')' returned non-zero exit status 1 /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:109:in `block in setup_build_deps!': unable to fetch v8 source (RuntimeError)	from /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:107:in `chdir'	from /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:107:in `setup_build_deps!'	from /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/ext/libv8/builder.rb:63:in `build_libv8!'	from /usr/home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5/ext/libv8/location.rb:24:in `install!'	from extconf.rb:7:in `<main>' extconf failed, exit code 1 Gem files will remain installed in /home/spider/.gem/ruby/2.2.0/gems/libv8-5.3.332.38.5 for inspection. Results logged to /home/spider/.gem/ruby/2.2.0/extensions/x86_64-freebsd-10/2.2.0/libv8-5.3.332.38.5/gem_make.out 

Resources still not available.
I see issue is closed, so maybe I'm addressing wrong project and ask author(s) of libv8 ( or anything in between )? Or ruby is not going to run in limited resources environment( in this case maximum processes limit )?

May I ask for any comment on why it was rejected?

Updated by nobu (Nobuyoshi Nakada) over 8 years ago Actions #3 [ruby-core:80888]

  • Status changed from Rejected to Third Party's Issue

hugespider (Clauss Gigantisch) wrote:

I see issue is closed, so maybe I'm addressing wrong project and ask author(s) of libv8 ( or anything in between )?

Yes, exactly.

Updated by ignisf (Petko Bordjukov) over 8 years ago Actions #4 [ruby-core:80901]

Hello, libv8 maintainer here. This really does not look like an issue with Ruby itself. Seems to me it's due to Google's depot_tools spawning a bunch of processes to fetch v8 and its dependencies' sources. Further discussion: https://github.com/cowboyd/libv8/issues/236

Actions

Also available in: PDF Atom