Bug #13511
closedgem install fails on UNIX accounts with limited process count.
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) about 8 years ago
- Status changed from Open to Rejected
Try gem install --user-install
.
Updated by hugespider (Clauss Gigantisch) about 8 years ago
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) about 8 years ago
- 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) about 8 years ago
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