-
-
Notifications
You must be signed in to change notification settings - Fork 925
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"NotImplementedError: waitpid unsupported or native support failed to load" with 9.0.0.0 on Ubuntu if build tools not installed #3285
Comments
On Linux systems I believe all we try to load is libc and licrypt. Perhaps you could trace the startup of the JVM + JRuby and see which library is failing to load? You can also try passing There are some systems where /tmp is not allowed to contain executable code, breaking our unpack+load of FFI libraries. I don't think that's the case here, though. |
it sounds very similar to what this PR tries to fix:
jnr/jnr-ffi#50
|
it was jvm tar.gz installed from orable (no apt or dpkg) no build-essentials, etc does fail to find libcrypt |
It appears that on Ubuntu, libcrypt is installed as libcrypt.so.1, not as libcrypt.so. For example:
Installing libc6-dev creates a symlink for libcrypt.so under /usr/lib. For example:
After that, the library can be loaded by the name libcrypt.so:
Not sure what the solution is, but JRuby should be able to run on production machines that do not have development tools installed. |
my patch for jnr/ffi will solve this issue by using /etc/ld.conf.d/* to find the library paths. |
@mkristian Ahh, very nice. I will merge that and push a snapshot dependency for JRuby. We'll see how it looks and let it bake for a while. |
I have merged jnr/jnr-ffi#50 plus some tweaks and will update 1.7 and master to use jnr-ffi 2.0.4-SNAPSHOT. We'll need to release it before 1.7.23 and 9.0.2.0. |
1.7 update is in 4bee414. |
For me jruby-9.0.1.0 installs just fine (without build essentials). But in order to be able to use it's gem command (to install bundler) I also had to resolve the libcrypy issue first with an The error I had: ubuntu@ip-10-0-3-36:~$ /opt/rubies/jruby-9.0.1.0/bin/gem install bundler
Fetching: bundler-1.10.6.gem (100%)
NotImplementedError: waitpid unsupported or native support failed to load
flock at org/jruby/RubyFile.java:298
block in cache_update_path at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/remote_fetcher.rb:316
open at org/jruby/RubyIO.java:1126
open at org/jruby/RubyKernel.java:310
cache_update_path at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/remote_fetcher.rb:315
download at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/remote_fetcher.rb:174
download at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/source.rb:210
download at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/resolver/activation_request.rb:60
block in install at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/request_set.rb:160
each at org/jruby/RubyArray.java:1560
install at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/request_set.rb:150
install_gem at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:249
block in install_gems at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:299
each at org/jruby/RubyArray.java:1560
install_gems at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:295
execute at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:202
invoke_with_build_args at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/command.rb:307
process_args at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/command_manager.rb:168
run at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/command_manager.rb:138
run at /opt/rubies/jruby-9.0.1.0/lib/ruby/stdlib/rubygems/gem_runner.rb:54
<top> at /opt/rubies/jruby-9.0.1.0/bin/jgem:21
load at org/jruby/RubyKernel.java:957
<top> at /opt/rubies/jruby-9.0.1.0/bin/gem:4 And after an /opt/rubies/jruby-9.0.1.0/bin/gem install bundler
Fetching: bundler-1.10.6.gem (100%)
Successfully installed bundler-1.10.6
1 gem installed |
Installing JRuby 9.0.0.0 with rbenv and ruby-build in a Docker container running Ubuntu 14.04 and Oracle Java JDK 1.8.0_60.
If we do not install the build-essential package with apt-get first, installing JRuby fails, with the error message:
"NotImplementedError: waitpid unsupported or native support failed to load"
JRuby appears to depend on a library installed as a dependency of build-essentials, but it's not clear which one.
We would prefer not to install build-essentials on a production box, so this is currently a problem for us.
As a workaround, could you specify which .so(s) are required by JRuby to implement its POSIX runtime API?
The text was updated successfully, but these errors were encountered: