Skip to content

Error getting setup #3

Closed
Closed
@emlama

Description

@emlama

Hey there, I'm really grateful that you've put together this gem. I'm looking to do some OCR work for a grad school project and would love to be working in Ruby and Tesseract seems like the right OCR library to be working with.

So far I'm having a hard time getting up and running though. Below are the crashes that happen when I try to include 'tesseract or 'tesseract-ocr' in IRB. Could you take a look at what I'm doing and see if there's anything apparently wrong?

FYI things I know/am running

  • OS X 10.6
  • Ruby 1.9.2
  • tesseract v 3.0.1 (installed via Port)
  • ruby gem tesseract (0.1.0)
  • ruby gem tesseract-ocr (0.1.3)
  • ruby gem ffi-inline (0.0.2)
  • ruby gem ffi-inliner (0.2.4)
  • GCC 4.2.1

When I try to include Tesseract in a IRB it throws the follow error:

ruby-1.9.2-head > require 'tesseract'
NameError: uninitialized constant Object::Tesseract
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/tesseract-ocr-0.1.3/bin/tesseract.rb:57:in `<top (required)>'
        from <internal:lib/rubygems/custom_require>:33:in `require'
        from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from (irb):1
        from /Users/matthewforr/.rvm/rubies/ruby-1.9.2-head/bin/irb:17:in `<main>'

And when I require Tesseract-OCR I get this error:

ruby-1.9.2-head > require 'tesseract-ocr'
CompilationError: compile error: see logs at /var/folders/Iq/IqwSThA+GH4e2Qhf3ycWO++++TI/-Tmp-/.ffi-inliner-501/b18ff1df59dbd350a8f5ea7d96fecaafd9e1d4ea.log
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/compilers/gcc.rb:19:in `compile'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/c.rb:101:in `shared_object'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders.rb:80:in `block in build'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders.rb:77:in `instance_eval'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders.rb:77:in `build'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/inliner.rb:44:in `singleton_inline'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/inliner.rb:29:in `inline'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/tesseract-ocr-0.1.3/lib/tesseract/c.rb:34:in `<module:C>'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/tesseract-ocr-0.1.3/lib/tesseract/c.rb:31:in `<module:Tesseract>'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/tesseract-ocr-0.1.3/lib/tesseract/c.rb:29:in `<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/tesseract-ocr-0.1.3/lib/tesseract/api.rb:26:in `<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from /Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/tesseract-ocr-0.1.3/lib/tesseract-ocr.rb:35:in `<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from (irb):2

The results of that log look like:

/var/folders/Iq/IqwSThA+GH4e2Qhf3ycWO++++TI/-Tmp-/.ffi-inliner-501/b18ff1df59dbd350a8f5ea7d96fecaafd9e1d4ea.cpp:1:30: error: tesseract/strngs.h: No such file or directory
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: expected constructor, destructor, or type conversion before ‘*’ token
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: variable or field ‘destroy_string’ declared void
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: ‘STRING’ was not declared in this scope
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: ‘value’ was not declared in this scope
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: ‘STRING’ was not declared in this scope
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: ‘value’ was not declared in this scope
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: expected ‘,’ or ‘;’ before ‘{’ token
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: ‘STRING’ was not declared in this scope
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: ‘value’ was not declared in this scope
/Users/matthewforr/.rvm/gems/ruby-1.9.2-head/gems/ffi-inline-0.0.2/lib/ffi/inliner/builders/cpp.rb:25: error: expected ‘,’ or ‘;’ before ‘{’ token

I believe I've correctly pulled down your version of ffi-inline and installed it but that could be the sticking point. I also noticed that a few commits back you changed the gemspec to no longer require ffi-inliner but ffi-inline instead yet in the c.rb file it's using ffi-inliner. I'm kind of a newb so maybe that isn't the problem.

Any thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions