JRUBY does not find installed gem

R

Ronald Fischer

It seems that I am hunted with library search problems....

I installed the net-ssh Gem, and gem indeed installed it at the=20
default library for Jruby, but still my program can't find the
library!

Here is the installation command and its output:

H:\dl\lang\net-ssh-1.1.1>gem install net-ssh
Bulk updating Gem source index for: http://gems.rubyforge.org
Install required dependency needle? [Yn] y
Successfully installed net-ssh-1.1.1
Successfully installed needle-1.3.0
Installing ri documentation for net-ssh-1.1.1...
Installing ri documentation for needle-1.3.0...
Installing RDoc documentation for net-ssh-1.1.1...
Installing RDoc documentation for needle-1.3.0...


This is my Gem environment:

C:\ruby185\lib\ruby\site_ruby>gem environment
RubyGems Environment:
- VERSION: 0.9.1 (0.9.1)
- INSTALLATION DIRECTORY: H:/jruby-0.9.9/lib/ruby/gems/1.8
- GEM PATH:
- H:/jruby-0.9.9/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org


But when I want to run the following program, I get an error message
saying
that net/ssh is not found:

H:\tmp>type t2.rb
require 'socket'
require 'net/telnet'
require 'net/ssh'

H:\tmp>jruby t2.rb
t2.rb:3:in `require': no such file to load -- net/ssh (LoadError)
from t2.rb:3


Since the library was installed using the "gem" command, jruby should
be able to locate it automatically, doesn't it?

Ronald
--=20
Ronald Fischer <[email protected]>
Phone: +49-89-452133-162
=20

--=20
Ronald Fischer <[email protected]>
Phone: +49-89-452133-162
=20
 
J

Jano Svitok

It seems that I am hunted with library search problems....

I installed the net-ssh Gem, and gem indeed installed it at the
default library for Jruby, but still my program can't find the
library!

Here is the installation command and its output:

H:\dl\lang\net-ssh-1.1.1>gem install net-ssh
Bulk updating Gem source index for: http://gems.rubyforge.org
Install required dependency needle? [Yn] y
Successfully installed net-ssh-1.1.1
Successfully installed needle-1.3.0
Installing ri documentation for net-ssh-1.1.1...
Installing ri documentation for needle-1.3.0...
Installing RDoc documentation for net-ssh-1.1.1...
Installing RDoc documentation for needle-1.3.0...


This is my Gem environment:

C:\ruby185\lib\ruby\site_ruby>gem environment
RubyGems Environment:
- VERSION: 0.9.1 (0.9.1)
- INSTALLATION DIRECTORY: H:/jruby-0.9.9/lib/ruby/gems/1.8
- GEM PATH:
- H:/jruby-0.9.9/lib/ruby/gems/1.8
- REMOTE SOURCES:
- http://gems.rubyforge.org


But when I want to run the following program, I get an error message
saying
that net/ssh is not found:

H:\tmp>type t2.rb
require 'socket'
require 'net/telnet'
require 'net/ssh'

H:\tmp>jruby t2.rb
t2.rb:3:in `require': no such file to load -- net/ssh (LoadError)
from t2.rb:3


Since the library was installed using the "gem" command, jruby should
be able to locate it automatically, doesn't it?

I don't know much about jruby, but in normal ruby (MRI) you have to
require 'rubygems', either by adding this line to the source, running
ruby -rubygems or setting $RUBYOPT to rubygems.

Note: If rubygems are loaded you get a different message when a file
is not loaded, similar to the following:

/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require__': no such file to load -- zlib
(LoadError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/package.rb:9
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/builder.rb:1
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems.rb:61:in `manage_gems'
...
 
R

Ronald Fischer

I don't know much about jruby, but in normal ruby (MRI) you have to
require 'rubygems', either by adding this line to the source, running
ruby -rubygems or setting $RUBYOPT to rubygems.

RUBYOPT *is* set to -rubygems, so I guess it is a Jruby problem.

As it turns out, I got an email by Jamis Buck (the author of net-ssh),
that
this package would not run with Jruby anyway, so I need to look for a=20
completely different solution.

Thank you for helping, though... I wonder whether there is a specific
mailing
list devoted to compatibility issues between Ruby and JRuby. Right now,
I'm
doing a lot of trial and error, to find out what Ruby stuff happens to
work
under JRuby.

Ronald
--=20
Ronald Fischer <[email protected]>
Phone: +49-89-452133-162
=20
 
R

Ronald Fischer

Really the biggest incompatibility is anything that has a native=20
extension. So if you go to install a gem and it gives you options for=20
what platform to install, chances are it's not going to work.
=20
But Ruby language features should generally be very solid,=20
and pure-Ruby=20
code should be just fine. So if net-ssh isn't working (or is=20
it needle?)=20
then it's a bug we will want to fix. Can you report it please?

I created a new issue on the JRUBY project. My user id there is "rovf",
in case you need to look it up.
(and the JRuby mailing lists are the best place to talk about=20
incompatibilities and stuff...I see from your other thread you've now=20
joined :)

Yes, it finally worked. I will post future messages specific to JRuby on
that list.

Thank you for all the help.

Ronald
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,901
Latest member
Noble71S45

Latest Threads

Top