H
H H
I tried to post this as a ticket to Ruby-WordNet trac as a ticket but
it kept rejecting it as "Possible Spam" so here it. (For those of you
having problems running convertdb.rb and core dumps - jump to the end)
Ubuntu 7.04
ruby 1.8.5 (2006-08-25) [i486-linux]
WordNet-3.0
------------------
After much heartache I was able to successfully install Ruby WordNet
but some of the tests fail at the end when running 'ruby test.rb'. I
am able to load up the library from Linguistics as well as separately
using require 'wordnet', but all commands bring back nil values. The
pre-packaged download does not let me run the test.rb at all as it
returns:
../tests/wntestcase.rb:57:in `require': no such file to load -- test/
unit/mock (LoadError)
from ./tests/wntestcase.rb:57
from test.rb:15:in `require'
from test.rb:15
from ./utils.rb:665:in `verboseOff'
from test.rb:14
I tried installing the Test::Unit::Mock library but didn't get very
far. I checked out the latest source code from SVN using:
svn checkout svn://deveiate.org/Ruby-WordNet/trunk
I was able to run the tests using this revision. After successfully
converting the WordNet data files - I ran ruby test.rb and received
the following errors:
-------------
0 patterns given on the command line
Required 3 files.
Loaded suite WordNet
Started
...FF...FF.E.F...FFFFFFFFF
Finished in 0.787878 seconds.
1) Failure:
test_familiarity_for_testwords_should_all_return_a_fixnum(LexiconTests)
[./tests/lexicon.tests.rb:92:in
`test_familiarity_for_testwords_should_all_return_a_fixnum'
./tests/lexicon.tests.rb:88:in `each'
./tests/lexicon.tests.rb:88:in
`test_familiarity_for_testwords_should_all_return_a_fixnum'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be an instance of
<Fixnum> but was
<NilClass>.
2) Failure:
test_grep_finds_compound_words(LexiconTests)
[./tests/lexicon.tests.rb:137:in `test_grep_finds_compound_words'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `[]' for nil:NilClass">
---Backtrace---
../lib/wordnet/lexicon.rb:278:in `grep'
../tests/lexicon.tests.rb:138:in `test_grep_finds_compound_words'
../tests/lexicon.tests.rb:137:in `test_grep_finds_compound_words'
../tests/wntestcase.rb:141:in `run'
---------------
3) Failure:
test_lookup_synsets(LexiconTests)
[./tests/lexicon.tests.rb:156:in `test_lookup_synsets'
./tests/lexicon.tests.rb:151:in `each'
./tests/lexicon.tests.rb:151:in `test_lookup_synsets'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be an instance of
<WordNet::Synset> but was
<NilClass>.
4) Failure:
test_morphology_of_dictionary_word_should_return_root_word(LexiconTests)
[./tests/lexicon.tests.rb:104:in
`test_morphology_of_dictionary_word_should_return_root_word'
./tests/wntestcase.rb:141:in `run']:
<"angry"> expected but was
<nil>.
5) Error:
test_perl_tests(LexiconTests):
WordNet::LookupError: Failed lookup of synset '00466621%n':No such
synset
./lib/wordnet/lexicon.rb:239:in `lookup_synsets_by_key'
./lib/wordnet/lexicon.rb:238:in `each'
./lib/wordnet/lexicon.rb:238:in `lookup_synsets_by_key'
./tests/linguawordnet.tests.rb:17:in `test_perl_tests'
./tests/wntestcase.rb:141:in `run'
6) Failure:
test_reverse_morphology_should_return_inverse(LexiconTests)
[./tests/lexicon.tests.rb:129:in
`test_reverse_morphology_should_return_inverse'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be =~
</^angr/>.
7) Failure:
test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin(SynsetTests)
[./tests/synset.tests.rb:208:in
`test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:209:in
`test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
../tests/synset.tests.rb:208:in
`test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
../tests/wntestcase.rb:141:in `run'
---------------
8) Failure:
test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms(SynsetTests)
[./tests/synset.tests.rb:192:in
`test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:193:in
`test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
../tests/synset.tests.rb:192:in
`test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
../tests/wntestcase.rb:141:in `run'
---------------
9) Failure:
test_part_of_speech_should_return_the_symbol_part_of_speech(SynsetTests)
[./tests/synset.tests.rb:243:in
`test_part_of_speech_should_return_the_symbol_part_of_speech'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `part_of_speech' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:243:in
`test_part_of_speech_should_return_the_symbol_part_of_speech'
../tests/synset.tests.rb:243:in
`test_part_of_speech_should_return_the_symbol_part_of_speech'
../tests/wntestcase.rb:141:in `run'
---------------
10) Failure:
test_pos_should_return_the_synsets_singlechar_part_of_speech(SynsetTests)
[./tests/synset.tests.rb:253:in
`test_pos_should_return_the_synsets_singlechar_part_of_speech'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `pos' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:253:in
`test_pos_should_return_the_synsets_singlechar_part_of_speech'
../tests/synset.tests.rb:253:in
`test_pos_should_return_the_synsets_singlechar_part_of_speech'
../tests/wntestcase.rb:141:in `run'
---------------
11) Failure:
test_relations(SynsetTests)
[./tests/synset.tests.rb:108:in `test_relations'
./tests/synset.tests.rb:105:in `each'
./tests/synset.tests.rb:105:in `test_relations'
./tests/wntestcase.rb:141:in `run']:
<#<WordNet::Synset:0xfb7945db0/1 (noun): "" ()>>
of type <WordNet::Synset>
expected to respond_to?<:instance_hyponyms>.
12) Failure:
test_synset_should_respond_to_traverse_method(SynsetTests)
[./tests/synset.tests.rb:138:in
`test_synset_should_respond_to_traverse_method'
./tests/wntestcase.rb:141:in `run']:
<nil>
of type <NilClass>
expected to respond_to?<:traverse>.
13) Failure:
test_traversal_break_after_3_should_include_three_sets_plus_origin(SynsetTests)
[./tests/synset.tests.rb:225:in
`test_traversal_break_after_3_should_include_three_sets_plus_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:226:in
`test_traversal_break_after_3_should_include_three_sets_plus_origin'
../tests/synset.tests.rb:225:in
`test_traversal_break_after_3_should_include_three_sets_plus_origin'
../tests/wntestcase.rb:141:in `run'
---------------
14) Failure:
test_traversal_with_false_second_arg_should_not_include_origin(SynsetTests)
[./tests/synset.tests.rb:172:in
`test_traversal_with_false_second_arg_should_not_include_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:173:in
`test_traversal_with_false_second_arg_should_not_include_origin'
../tests/synset.tests.rb:172:in
`test_traversal_with_false_second_arg_should_not_include_origin'
../tests/wntestcase.rb:141:in `run'
---------------
15) Failure:
test_traversal_with_true_second_arg_should_include_origin(SynsetTests)
[./tests/synset.tests.rb:149:in
`test_traversal_with_true_second_arg_should_include_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:150:in
`test_traversal_with_true_second_arg_should_include_origin'
../tests/synset.tests.rb:149:in
`test_traversal_with_true_second_arg_should_include_origin'
../tests/wntestcase.rb:141:in `run'
---------------
25 tests, 116 assertions, 14 failures, 1 errors
---------------
sudo ruby install.rb appears to work - but when using the library in a
ruby program nil values are returned.
sudo irb
require 'wordnet'
lex = WordNet::Lexicon::new
lex.lookup_synsets("shoe", WordNet::Noun)
=> nil
I'm not sure what I've done wrong up to this point. Hopefully the
information I've provided can show it's something wrong on my end.
For those of you looking for the instructions to get you to the point
where you can run the installation tests, I've provided the KEY steps
here for installation on Ubuntu 7.04:
#Download Berkeley DB from Oracle (MUST BE 4.4 or earlier!)
wget http://download.oracle.com/berkeley-db/db-4.4.20.tar.gz #untar
and install per INSTALL file instructions
#Get the ruby bindings for BDB (MUST BE VERSION 0.6.0 - I had core
dumps with using any other binding during the convertdb command)
wget ftp://moulon.inra.fr/pub/ruby/bdb-0.6.0.tar.gz
#when compiling the bindings point to the proper headers
ruby extconf.rb --with-db-include=/home/johndoe/db-4.4.20/build_unix
make
sudo make install
svn checkout svn://deveiate.org/Ruby-WordNet/trunk
ruby convertdb.rb /home/johndoe/WordNet-3.0/dict/
Any information or help in getting the test and the wordnet library to
work - would be greatly appreciated. Perhaps a brave soul can make a
gem out of it...
Henry
it kept rejecting it as "Possible Spam" so here it. (For those of you
having problems running convertdb.rb and core dumps - jump to the end)
Ubuntu 7.04
ruby 1.8.5 (2006-08-25) [i486-linux]
WordNet-3.0
------------------
After much heartache I was able to successfully install Ruby WordNet
but some of the tests fail at the end when running 'ruby test.rb'. I
am able to load up the library from Linguistics as well as separately
using require 'wordnet', but all commands bring back nil values. The
pre-packaged download does not let me run the test.rb at all as it
returns:
../tests/wntestcase.rb:57:in `require': no such file to load -- test/
unit/mock (LoadError)
from ./tests/wntestcase.rb:57
from test.rb:15:in `require'
from test.rb:15
from ./utils.rb:665:in `verboseOff'
from test.rb:14
I tried installing the Test::Unit::Mock library but didn't get very
far. I checked out the latest source code from SVN using:
svn checkout svn://deveiate.org/Ruby-WordNet/trunk
I was able to run the tests using this revision. After successfully
converting the WordNet data files - I ran ruby test.rb and received
the following errors:
-------------
0 patterns given on the command line
Required 3 files.
Loaded suite WordNet
Started
...FF...FF.E.F...FFFFFFFFF
Finished in 0.787878 seconds.
1) Failure:
test_familiarity_for_testwords_should_all_return_a_fixnum(LexiconTests)
[./tests/lexicon.tests.rb:92:in
`test_familiarity_for_testwords_should_all_return_a_fixnum'
./tests/lexicon.tests.rb:88:in `each'
./tests/lexicon.tests.rb:88:in
`test_familiarity_for_testwords_should_all_return_a_fixnum'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be an instance of
<Fixnum> but was
<NilClass>.
2) Failure:
test_grep_finds_compound_words(LexiconTests)
[./tests/lexicon.tests.rb:137:in `test_grep_finds_compound_words'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `[]' for nil:NilClass">
---Backtrace---
../lib/wordnet/lexicon.rb:278:in `grep'
../tests/lexicon.tests.rb:138:in `test_grep_finds_compound_words'
../tests/lexicon.tests.rb:137:in `test_grep_finds_compound_words'
../tests/wntestcase.rb:141:in `run'
---------------
3) Failure:
test_lookup_synsets(LexiconTests)
[./tests/lexicon.tests.rb:156:in `test_lookup_synsets'
./tests/lexicon.tests.rb:151:in `each'
./tests/lexicon.tests.rb:151:in `test_lookup_synsets'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be an instance of
<WordNet::Synset> but was
<NilClass>.
4) Failure:
test_morphology_of_dictionary_word_should_return_root_word(LexiconTests)
[./tests/lexicon.tests.rb:104:in
`test_morphology_of_dictionary_word_should_return_root_word'
./tests/wntestcase.rb:141:in `run']:
<"angry"> expected but was
<nil>.
5) Error:
test_perl_tests(LexiconTests):
WordNet::LookupError: Failed lookup of synset '00466621%n':No such
synset
./lib/wordnet/lexicon.rb:239:in `lookup_synsets_by_key'
./lib/wordnet/lexicon.rb:238:in `each'
./lib/wordnet/lexicon.rb:238:in `lookup_synsets_by_key'
./tests/linguawordnet.tests.rb:17:in `test_perl_tests'
./tests/wntestcase.rb:141:in `run'
6) Failure:
test_reverse_morphology_should_return_inverse(LexiconTests)
[./tests/lexicon.tests.rb:129:in
`test_reverse_morphology_should_return_inverse'
./tests/wntestcase.rb:141:in `run']:
<nil> expected to be =~
</^angr/>.
7) Failure:
test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin(SynsetTests)
[./tests/synset.tests.rb:208:in
`test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:209:in
`test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
../tests/synset.tests.rb:208:in
`test_hyponym_traversal_with_no_block_and_false_second_arg_should_return_holonyms_but_not_the_origin'
../tests/wntestcase.rb:141:in `run'
---------------
8) Failure:
test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms(SynsetTests)
[./tests/synset.tests.rb:192:in
`test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:193:in
`test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
../tests/synset.tests.rb:192:in
`test_hyponym_traversal_with_no_block_should_return_appropriate_hyponyms'
../tests/wntestcase.rb:141:in `run'
---------------
9) Failure:
test_part_of_speech_should_return_the_symbol_part_of_speech(SynsetTests)
[./tests/synset.tests.rb:243:in
`test_part_of_speech_should_return_the_symbol_part_of_speech'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `part_of_speech' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:243:in
`test_part_of_speech_should_return_the_symbol_part_of_speech'
../tests/synset.tests.rb:243:in
`test_part_of_speech_should_return_the_symbol_part_of_speech'
../tests/wntestcase.rb:141:in `run'
---------------
10) Failure:
test_pos_should_return_the_synsets_singlechar_part_of_speech(SynsetTests)
[./tests/synset.tests.rb:253:in
`test_pos_should_return_the_synsets_singlechar_part_of_speech'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `pos' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:253:in
`test_pos_should_return_the_synsets_singlechar_part_of_speech'
../tests/synset.tests.rb:253:in
`test_pos_should_return_the_synsets_singlechar_part_of_speech'
../tests/wntestcase.rb:141:in `run'
---------------
11) Failure:
test_relations(SynsetTests)
[./tests/synset.tests.rb:108:in `test_relations'
./tests/synset.tests.rb:105:in `each'
./tests/synset.tests.rb:105:in `test_relations'
./tests/wntestcase.rb:141:in `run']:
<#<WordNet::Synset:0xfb7945db0/1 (noun): "" ()>>
of type <WordNet::Synset>
expected to respond_to?<:instance_hyponyms>.
12) Failure:
test_synset_should_respond_to_traverse_method(SynsetTests)
[./tests/synset.tests.rb:138:in
`test_synset_should_respond_to_traverse_method'
./tests/wntestcase.rb:141:in `run']:
<nil>
of type <NilClass>
expected to respond_to?<:traverse>.
13) Failure:
test_traversal_break_after_3_should_include_three_sets_plus_origin(SynsetTests)
[./tests/synset.tests.rb:225:in
`test_traversal_break_after_3_should_include_three_sets_plus_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:226:in
`test_traversal_break_after_3_should_include_three_sets_plus_origin'
../tests/synset.tests.rb:225:in
`test_traversal_break_after_3_should_include_three_sets_plus_origin'
../tests/wntestcase.rb:141:in `run'
---------------
14) Failure:
test_traversal_with_false_second_arg_should_not_include_origin(SynsetTests)
[./tests/synset.tests.rb:172:in
`test_traversal_with_false_second_arg_should_not_include_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:173:in
`test_traversal_with_false_second_arg_should_not_include_origin'
../tests/synset.tests.rb:172:in
`test_traversal_with_false_second_arg_should_not_include_origin'
../tests/wntestcase.rb:141:in `run'
---------------
15) Failure:
test_traversal_with_true_second_arg_should_include_origin(SynsetTests)
[./tests/synset.tests.rb:149:in
`test_traversal_with_true_second_arg_should_include_origin'
./tests/wntestcase.rb:141:in `run']:
Exception raised:
Class: <NoMethodError>
Message: <"undefined method `traverse' for nil:NilClass">
---Backtrace---
../tests/synset.tests.rb:150:in
`test_traversal_with_true_second_arg_should_include_origin'
../tests/synset.tests.rb:149:in
`test_traversal_with_true_second_arg_should_include_origin'
../tests/wntestcase.rb:141:in `run'
---------------
25 tests, 116 assertions, 14 failures, 1 errors
---------------
sudo ruby install.rb appears to work - but when using the library in a
ruby program nil values are returned.
sudo irb
require 'wordnet'
lex = WordNet::Lexicon::new
lex.lookup_synsets("shoe", WordNet::Noun)
=> nil
I'm not sure what I've done wrong up to this point. Hopefully the
information I've provided can show it's something wrong on my end.
For those of you looking for the instructions to get you to the point
where you can run the installation tests, I've provided the KEY steps
here for installation on Ubuntu 7.04:
#Download Berkeley DB from Oracle (MUST BE 4.4 or earlier!)
wget http://download.oracle.com/berkeley-db/db-4.4.20.tar.gz #untar
and install per INSTALL file instructions
#Get the ruby bindings for BDB (MUST BE VERSION 0.6.0 - I had core
dumps with using any other binding during the convertdb command)
wget ftp://moulon.inra.fr/pub/ruby/bdb-0.6.0.tar.gz
#when compiling the bindings point to the proper headers
ruby extconf.rb --with-db-include=/home/johndoe/db-4.4.20/build_unix
make
sudo make install
svn checkout svn://deveiate.org/Ruby-WordNet/trunk
ruby convertdb.rb /home/johndoe/WordNet-3.0/dict/
Any information or help in getting the test and the wordnet library to
work - would be greatly appreciated. Perhaps a brave soul can make a
gem out of it...
Henry