Closed stray-leone closed 9 years ago
Are you using any particular Ruby version manager such a RVM/chruby/etc? Using JRuby 1.7.18 I can load said Gem fine without any errors popping up, so perhaps something went wrong during the Gem installation. To demonstrate I downloaded the Gem locally and require'd it (I don't recommend using this procedure for production):
Downloads $ ls
opener-ner-base-3.0.1.gem
Downloads $ gem unpack opener-ner-base-3.0.1.gem
Unpacked gem: '/home/yorickpeterse/Private/Downloads/opener-ner-base-3.0.1'
Downloads $ rm *.gem
Downloads $ ls
opener-ner-base-3.0.1
Downloads $ cd opener-ner-base-3.0.1/
opener-ner-base-3.0.1 $ ls
bin core lib LICENSE.txt opener-ner-base.gemspec README.md
opener-ner-base-3.0.1 $ ls core
target
opener-ner-base-3.0.1 $ ls core/target
ixa-pipe-nerc-1.1.0.jar
opener-ner-base-3.0.1 $ ls
bin core lib LICENSE.txt opener-ner-base.gemspec README.md
opener-ner-base-3.0.1 $ chruby jruby
opener-ner-base-3.0.1 $ chruby
* jruby-1.7.18
rbx-2.5.2
rbx-git
ree-1.8.7-2011.12
ruby-1.8.7-p374
ruby-2.1.4
ruby-2.2.0
opener-ner-base-3.0.1 $ ruby -r ./lib/opener/ners/base.rb -e ''
opener-ner-base-3.0.1 $
(opener)~/work/name_entity_recognition@strawberry(5049)$ gem
RubyGems is a sophisticated package manager for Ruby. This is a
basic help message containing pointers to more information.
Usage:
gem -h/--help
gem -v/--version
gem command [arguments...] [options...]
Examples:
gem install rake
gem list --local
gem build package.gemspec
gem help install
Further help:
gem help commands list all 'gem' commands
gem help examples show some examples of usage
gem help gem_dependencies gem dependencies file guide
gem help platforms gem platforms guide
gem help <COMMAND> show help on COMMAND
(e.g. 'gem help install')
gem server present a web page at
http://localhost:8808/
with info about installed gems
Further information:
http://guides.rubygems.org
(opener)~/work/name_entity_recognition@strawberry(5050)$ gem --version
2.4.6
(opener)~/work/name_entity_recognition@strawberry(5051)$ chruby
chruby: command not found
(opener)~/work/name_entity_recognition@strawberry(5052)$ rvm
No command 'rvm' found, but there are 20 similar ones
rvm: command not found
(opener)~/work/name_entity_recognition@strawberry(5053)$ RVM
RVM: command not found
(opener)~/work/name_entity_recognition@strawberry(5054)$
Could you list the contents of the Gem directory as following?:
$ gem which opener/ners/base
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/lib/opener/ners/base.rb
# Now take the path until /lib and run this (make sure to adjust the path based on your own system):
ls -R /home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1
This should output something like this:
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1:
bin core lib LICENSE.txt opener-ner-base.gemspec README.md
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/bin:
ner-base
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/core:
target
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/core/target:
ixa-pipe-nerc-1.1.0.jar
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/lib:
opener
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/lib/opener:
ners
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/lib/opener/ners:
base base.rb
/home/yorickpeterse/.gem/jruby/1.9.3/gems/opener-ner-base-3.0.1/lib/opener/ners/base:
version.rb
I'm still guessing a bit, but I suspect somehow the Gem wasn't fully installed in your case.
(opener)~/.gem@swrnd-slave05(8737)$ gem which opener/ners/base
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners/base.rb
(opener)~/.gem@swrnd-slave05(8738)$ ls -R /var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib:
opener
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener:
ners
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners:
base base.rb
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners/base:
version.rb
(opener)~/.gem@swrnd-slave05(8740)$ ls -R ~/.gem
/home/kim/.gem:
ruby specs
/home/kim/.gem/ruby:
1.9.1
/home/kim/.gem/ruby/1.9.1:
cache
/home/kim/.gem/ruby/1.9.1/cache:
bundler-1.8.4.gem mini_portile-0.6.2.gem opener-language-identifier-4.2.2.gem rubygems-update-2.4.6.gem
/home/kim/.gem/specs:
rubygems.org%80
/home/kim/.gem/specs/rubygems.org%80:
latest_specs.4.8 quick specs.4.8
/home/kim/.gem/specs/rubygems.org%80/quick:
Marshal.4.8
/home/kim/.gem/specs/rubygems.org%80/quick/Marshal.4.8:
addressable-2.3.7.gemspec aws-sdk-1.39.0.gemspec aws-sdk-1.9.3.gemspec multi_json-1.7.7.gemspec rack-1.4.2.gemspec
archive-0.0.6.gemspec aws-sdk-1.3.9.gemspec aws-sdk-1.9.4.gemspec multi_json-1.7.8.gemspec rack-1.4.3.gemspec
aws-sdk-1.0.0.gemspec aws-sdk-1.40.0.gemspec aws-sdk-1.9.5.gemspec multi_json-1.7.9.gemspec rack-1.4.4.gemspec
My directory structure is different because I use a version manager for Ruby, which installs things in a different place than usual. What happens if you run the following (using JRuby):
gem install opener-ners-base --user-install
ruby -r opener/ners/base -e 'p Opener::Ners::Base::VERSION'
(opener)~/.gem@swrnd-slave05(8741)$ gem install opener-ners-base --user-install
ERROR: Could not find a valid gem 'opener-ners-base' (>= 0) in any repository
ERROR: Possible alternatives: opener-ner-base, opener-ner, opener-core, opener-kaf-parser, opener-ned
(opener)~/.gem@swrnd-slave05(8742)$
(opener)~/.gem@swrnd-slave05(8742)$
(opener)~/.gem@swrnd-slave05(8742)$
(opener)~/.gem@swrnd-slave05(8742)$ gem install opener-ner-base --user-install
Fetching: opener-ner-base-3.0.1.gem (100%)
WARNING: You don't have /home/kim/.gem/ruby/1.9.1/bin in your PATH,
gem executables will not run.
Successfully installed opener-ner-base-3.0.1
1 gem installed
Installing ri documentation for opener-ner-base-3.0.1...
Installing RDoc documentation for opener-ner-base-3.0.1...
(opener)~/.gem@swrnd-slave05(8760)$ ruby -r opener/ners/base -e 'p Opener::Ners::Base::VERSION'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- /var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/core/target/ixa-pipe-nerc-1.1.0.jar (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners/base.rb:5:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
(opener)~/.gem@swrnd-slave05(8761)$ ruby -r opener/ner/base -e 'p Opener::Ners::Base::VERSION'
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- opener/ner/base (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
(opener)~/.gem@swrnd-slave05(8762)$ jruby -r opener/ners/base -e 'p Opener::Ners::Base::VERSION'
LoadError: no such file to load -- opener/ners/base
require at org/jruby/RubyKernel.java:1071
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(opener)~/.gem@swrnd-slave05(8763)$ jruby -r opener/ner/base -e 'p Opener::Ners::Base::VERSION'
LoadError: no such file to load -- opener/ner/base
require at org/jruby/RubyKernel.java:1071
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(opener)~/.gem@swrnd-slave05(8764)$
Woops yeah, that was supposed to be opener-ner-base
as the Gem name. Can you run the following?:
gem fetch opener-ner-base -v 3.0.1
md5sum opener-ner-base-3.0.1.gem
This should output:
3be94152f22dba1c0aef445acafe9fb4 opener-ner-base-3.0.1.gem
If the md5sum
command can't be found, run the following instead (in the same directory as the .gem
file):
ruby -r digest/md5 -e 'puts Digest::MD5.hexdigest(File.read("./opener-ner-base-3.0.1.gem"))'
Which should just output 3be94152f22dba1c0aef445acafe9fb4
.
The idea here is to see if you end up downloading the same Gem, or if it's somehow a different one. If this yields the same checksum, run this and paste the results:
gem install opener-ner-base -v 3.0.1 --verbose
gem env
Alternatively you could look into using https://github.com/postmodern/chruby and https://github.com/postmodern/ruby-install. This shouldn't be required, but getting chruby/ruby-install up and running is probably less time consuming than figuring out exactly what's going on.
~@swrnd-slave05(8766)$ gem fetch opener-ner-base -v 3.0.1
Fetching: opener-ner-base-3.0.1.gem (100%)
Downloaded opener-ner-base-3.0.1
~@swrnd-slave05(8767)$ md
md5pass md5sum.textutils mdel mdir
md5sum mdatopbm mdeltree mdu
~@swrnd-slave05(8767)$ md5sum opener-ner-base-3.0.1.gem
(opener)~/work/named_entity_recognition@swrnd-slave05(8778)$ sudo gem install opener-ner-base -v 3.0.1 --verbose
[sudo] password for kim:
GET http://rubygems.org/specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/specs.4.8.gz
304 Not Modified
GET http://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
304 Not Modified
Installing gem opener-ner-base-3.0.1
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/LICENSE.txt
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/README.md
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/bin/ner-base
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/core/target/ixa-pipe-nerc-1.1.0.jar
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners/base.rb
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners/base/version.rb
/var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/opener-ner-base.gemspec
/usr/local/bin/ner-base
Successfully installed opener-ner-base-3.0.1
1 gem installed
Installing ri documentation for opener-ner-base-3.0.1...
rdoc --ri --op /var/lib/gems/1.9.1/doc/opener-ner-base-3.0.1/ri lib --title opener-ner-base-3.0.1 Documentation --quiet
Installing RDoc documentation for opener-ner-base-3.0.1...
rdoc --op /var/lib/gems/1.9.1/doc/opener-ner-base-3.0.1/rdoc lib --title opener-ner-base-3.0.1 Documentation --quiet
(opener)~/work/named_entity_recognition@swrnd-slave05(8779)$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.23
- RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /var/lib/gems/1.9.1
- /home/kim/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
(opener)~@swrnd-slave05(8783)$ ner
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- /var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/core/target/ixa-pipe-nerc-1.1.0.jar (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.9.1/gems/opener-ner-base-3.0.1/lib/opener/ners/base.rb:5:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /var/lib/gems/1.9.1/gems/opener-ner-3.0.0/lib/opener/ner.rb:1:in `<top (required)>'
from /var/lib/gems/1.9.1/gems/opener-ner-3.0.0/bin/ner:3:in `require_relative'
from /var/lib/gems/1.9.1/gems/opener-ner-3.0.0/bin/ner:3:in `<top (required)>'
from /usr/local/bin/ner:23:in `load'
from /usr/local/bin/ner:23:in `<main>'
(opener)~@swrnd-slave05(8784)$
Judging from the output of gem env
it appears that you're installing the Gem using the default Ruby, not JRuby. Probably you have to run something like jruby gem install ...
.
jruby -S gem install opener-language-identifier
(opener)~/work/named_entity_recognition/opener@swrnd-slave05(8811)$ jruby -S gem install opener-language-identifier
Fetching: slop-3.6.0.gem (100%)
Successfully installed slop-3.6.0
Fetching: nokogiri-1.6.6.2-java.gem (100%)
Successfully installed nokogiri-1.6.6.2-java
Fetching: builder-3.2.2.gem (100%)
Successfully installed builder-3.2.2
Fetching: multi_json-1.11.0.gem (100%)
Successfully installed multi_json-1.11.0
Fetching: rollbar-1.4.4.gem (100%)
Successfully installed rollbar-1.4.4
Fetching: newrelic_rpm-3.10.0.279.gem (100%)
Successfully installed newrelic_rpm-3.10.0.279
Fetching: rack-1.6.0.gem (100%)
Successfully installed rack-1.6.0
Fetching: puma-2.11.1-java.gem (100%)
Successfully installed puma-2.11.1-java
Fetching: archive-0.0.6.gem (100%)
Successfully installed archive-0.0.6
Fetching: httpclient-2.6.0.1.gem (100%)
Successfully installed httpclient-2.6.0.1
Fetching: opener-core-2.4.0.gem (100%)
Successfully installed opener-core-2.4.0
Fetching: addressable-2.3.7.gem (100%)
Successfully installed addressable-2.3.7
Fetching: aws-sdk-v1-1.63.0.gem (100%)
Successfully installed aws-sdk-v1-1.63.0
Fetching: aws-sdk-1.63.0.gem (100%)
Successfully installed aws-sdk-1.63.0
Fetching: opener-callback-handler-1.0.2.gem (100%)
Successfully installed opener-callback-handler-1.0.2
Fetching: tilt-1.4.1.gem (100%)
Successfully installed tilt-1.4.1
Fetching: rack-protection-1.5.3.gem (100%)
Successfully installed rack-protection-1.5.3
Fetching: sinatra-1.4.5.gem (100%)
Successfully installed sinatra-1.4.5
Fetching: opener-webservice-2.2.0.gem (100%)
Successfully installed opener-webservice-2.2.0
Fetching: oni-3.1.1.gem (100%)
Successfully installed oni-3.1.1
Fetching: json-schema-2.5.1.gem (100%)
Successfully installed json-schema-2.5.1
Fetching: opener-daemons-2.3.6.gem (100%)
Successfully installed opener-daemons-2.3.6
Fetching: opener-language-identifier-4.2.2.gem (100%)
Successfully installed opener-language-identifier-4.2.2
23 gems installed
(opener)~/work/named_entity_recognition/opener@swrnd-slave05(8812)$ echo "This is absolutelty great" | language-identifier
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<KAF xml:lang="en" version="2.1">
<raw>This is absolutelty great
</raw>
</KAF>
(opener)~/work/named_entity_recognition/opener@swrnd-slave05(8820)$ cat my_text_file.txt
This is absolutely great
(opener)~/work/named_entity_recognition/opener@swrnd-slave05(8819)$ cat my_text_file.txt | language-identifier | tokenizer | pos-tagger
LoadError: Could not open library 'archive' : archive: cannot open shared object file: No such file or directory. Could not open library 'libarchive.so' : libarchive.so: cannot open shared object file: No such file or directory
ffi_lib at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/ffi/library.rb:114
map at org/jruby/RubyArray.java:2412
ffi_lib at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/ffi/library.rb:84
LibArchive at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive/libarchive.rb:136
Archive at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive/libarchive.rb:77
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive/libarchive.rb:3
require at org/jruby/RubyKernel.java:1071
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive.rb:1
require at org/jruby/RubyKernel.java:1071
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive.rb:2
require at org/jruby/RubyKernel.java:1071
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/opener-core-2.4.0/lib/opener/core.rb:1
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/opener-core-2.4.0/lib/opener/core.rb:8
require at org/jruby/RubyKernel.java:1071
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/opener-pos-tagger-3.1.3/lib/opener/pos_tagger.rb:3
load at org/jruby/RubyKernel.java:1087
(root) at /home/kim/bin/jruby-1.7.19/bin/pos-tagger:23
LoadError: Could not open library 'archive' : archive: cannot open shared object file: No such file or directory. Could not open library 'libarchive.so' : libarchive.so: cannot open shared object file: No such file or directory
ffi_lib at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/ffi/library.rb:114
map at org/jruby/RubyArray.java:2412
ffi_lib at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/ffi/library.rb:84
LibArchive at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive/libarchive.rb:136
Archive at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive/libarchive.rb:77
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive/libarchive.rb:3
require at org/jruby/RubyKernel.java:1071
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive.rb:1
require at org/jruby/RubyKernel.java:1071
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/archive-0.0.6/lib/archive.rb:2
require at org/jruby/RubyKernel.java:1071
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/opener-core-2.4.0/lib/opener/core.rb:1
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/opener-core-2.4.0/lib/opener/core.rb:8
require at org/jruby/RubyKernel.java:1071
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:1
require at /home/kim/bin/jruby-1.7.19/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54
(root) at /home/kim/bin/jruby-1.7.19/lib/ruby/gems/shared/gems/opener-tokenizer-2.1.2/lib/opener/tokenizer.rb:3
load at org/jruby/RubyKernel.java:1087
(root) at /home/kim/bin/jruby-1.7.19/bin/tokenizer:23
I suspect the problem here was that Ubuntu has two Ruby versions installed:
Probably it links gem
and such to the default Ruby, requiring the usage of jruby gem ....
. Great to hear it's now working!
Oh, regarding the last error (just noticed that): you need to install libarchive's (http://www.libarchive.org/) development headers. We should probably clarify that somewhere :/
it works :)
Ah, wonderful!