meh / ruby-ffi-inline

Inline C/C++ in Ruby easily and cleanly.
11 stars 5 forks source link

FFI Inline on Windows 7 #6

Closed tangtech closed 11 years ago

tangtech commented 11 years ago

I've been trying to get the Tesseract-OCR gem to work on a Windows 7 system, but it keeps throwing up errors due to the FFI-Inline gem. From what I can tell, the problem might be that Windows doesn't have a "sh" command.

[rake --tasks] rake aborted! compile error: see logs at > C:/Users/Tanglin/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in compile' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders/c.rb:114:inshared_object' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:90:in block in build' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:ininstance_eval' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in build' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:54:insingleton_inline' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:39:in inline' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:inmodule:C' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in <module:Tesseract>' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in<top (required)>' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in require' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in<top (required)>' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in require' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in<top (required)>' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:in require' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/runtime.rb:72:inblock (2 levels) in require' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:in each' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/runtime.rb:70:inblock in require' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:in each' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler/runtime.rb:59:inrequire' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.4/lib/bundler.rb:132:in require' C:/Users/Tanglin/RubymineProjects/artie/config/application.rb:13:in<top (required)>' C:/Users/Tanglin/RubymineProjects/artie/Rakefile:5:in require' C:/Users/Tanglin/RubymineProjects/artie/Rakefile:5:in<top (required)>' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in load' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:inload_rakefile' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:637:in raw_load_rakefile' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:94:inblock in load_rakefile' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in standard_exception_handling' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:93:inload_rakefile' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:77:in block in run' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:instandard_exception_handling' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:75:in run' C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/bin/rake:33:in<top (required)>' C:/RailsInstaller/Ruby1.9.3/bin/rake:23:in load' C:/RailsInstaller/Ruby1.9.3/bin/rake:23:in

' This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

Error Log:

sh -c 'g++ -shared -fPIC -o C:/Users/Tanglin/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.dll C:/Users/Tanglin/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp -ltesseract' 2>>C:/Users/Tanglin/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log 'sh' is not recognized as an internal or external command, operable program or batch file.

meh commented 11 years ago

Sadly I don't know anything about Windows so I have no idea how I should proceed, would you be able to send a pull request?

Basically you'd have to check for the system in compilers and change the command that's ran, if you could also add MSVC as compiler it would be nice.

tangtech commented 11 years ago

After some trial and error, I managed to resolve some of the error messages by installing Cygwin (for sh.exe) and G++.

Right now, the remaining error messages point towards some kind of path error. I tried setting CFLAGS and LDFLAGS environment variables as per another thread, but no luck.

Would you know if anyone's ever got this gem working properly on a Windows system?

When I require 'tesseract-ocr', Rubymine says:

The system cannot find the path specified. C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in compile': compile error: see logs at C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log (CompilationError) from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders/c.rb:114:inshared_object' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:90:in block in build' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:ininstance_eval' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in build' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:54:insingleton_inline' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:39:in inline' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:inmodule:C' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in <module:Tesseract>' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in<top (required)>' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in<top (required)>' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in require' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in<top (required)>' from C:/Users/Nathanael/RubymineProjects/artie/lib/pdf/pdf2text.rb:5:in require' from C:/Users/Nathanael/RubymineProjects/artie/lib/pdf/pdf2text.rb:5:in<top (required)>' from -e:1:in load' from -e:1:in

'

00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log says:

sh -c 'g++ -shared -fPIC -o C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.dll C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp -ltesseract' 2>>C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log

00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp says:

include <tesseract/strngs.h>

line 38 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"

extern "C" { void free_array_of_char (char* pointer) { delete [] pointer; } }

line 44 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"

extern "C" { void free_array_of_int (int* pointer) { delete [] pointer; } }

line 50 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"

extern "C" { STRING* create_string (void) { return new STRING(); } }

line 56 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"

extern "C" { void destroy_string (STRING* value) { delete value; } }

line 62 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"

extern "C" { int string_length (STRING* value) { return value->length(); } }

line 68 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"

extern "C" { const char* string_content (STRING* value) { return value->string(); } }

meh commented 11 years ago

Is that the whole log? Because it doesn't look like it.

Also use code tags please, not quotes, it's unintelligible.

tangtech commented 11 years ago

Sorry about that, was trying to figure out the correct markup tag. There are slightly different error messages from 3 sources.

Error from "Get available generators list":

C:\Users\Nathanael\RubymineProjects\artie\script\rails
    Error:Error:Get available generators script executes with errors:
    Error:Error:The system cannot find the path specified.
    Error:Error:C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in `compile': compile error: see logs at C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log (CompilationError)
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders/c.rb:114:in `shared_object'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:90:in `block in build'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `instance_eval'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `build'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:54:in `singleton_inline'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:39:in `inline'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:in `<module:C>'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in `<module:Tesseract>'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in `<top (required)>'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `<top (required)>'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `<top (required)>'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
    Error:Error:    from C:/Users/Nathanael/RubymineProjects/artie/config/application.rb:13:in `<top (required)>'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:24:in `require'
    Error:Error:    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:24:in `<top (required)>'
    Error:Error:    from C:/Users/Nathanael/RubymineProjects/artie/script/rails:6:in `require'
    Error:Error:    from C:/Users/Nathanael/RubymineProjects/artie/script/rails:6:in `<main>'
    Error:Error:
    Error:Error:This application has requested the Runtime to terminate it in an unusual way.
    Error:Error:Please contact the application's support team for more information.

Error from "Get available rake tasks":

C:\RailsInstaller\Ruby1.9.3\bin\rake
    Error:Error:[rake --tasks] The system cannot find the path specified.
rake aborted!
compile error: see logs at C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in `compile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders/c.rb:114:in `shared_object'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:90:in `block in build'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `instance_eval'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `build'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:54:in `singleton_inline'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:39:in `inline'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:in `<module:C>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in `<module:Tesseract>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
C:/Users/Nathanael/RubymineProjects/artie/config/application.rb:13:in `<top (required)>'
C:/Users/Nathanael/RubymineProjects/artie/Rakefile:5:in `require'
C:/Users/Nathanael/RubymineProjects/artie/Rakefile:5:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:637:in `raw_load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:94:in `block in load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:93:in `load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:77:in `block in run'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/bin/rake:33:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/bin/rake:23:in `load'
C:/RailsInstaller/Ruby1.9.3/bin/rake:23:in `<main>'
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
    Error:Error:[rake --prereqs] The system cannot find the path specified.
rake aborted!
compile error: see logs at C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in `compile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders/c.rb:114:in `shared_object'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:90:in `block in build'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `instance_eval'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `build'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:54:in `singleton_inline'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:39:in `inline'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:in `<module:C>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in `<module:Tesseract>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
C:/Users/Nathanael/RubymineProjects/artie/config/application.rb:13:in `<top (required)>'
C:/Users/Nathanael/RubymineProjects/artie/Rakefile:5:in `require'
C:/Users/Nathanael/RubymineProjects/artie/Rakefile:5:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/rake_module.rb:25:in `load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:637:in `raw_load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:94:in `block in load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:93:in `load_rakefile'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:77:in `block in run'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:165:in `standard_exception_handling'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/lib/rake/application.rb:75:in `run'
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/rake-10.1.0/bin/rake:33:in `<top (required)>'
C:/RailsInstaller/Ruby1.9.3/bin/rake:23:in `load'
C:/RailsInstaller/Ruby1.9.3/bin/rake:23:in `<main>'
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Error when running a file with require "tesseract-ocr":

C:\RailsInstaller\Ruby1.9.3\bin\ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) C:/Users/Nathanael/RubymineProjects/artie/lib/pdf/pdf2text.rb
The system cannot find the path specified.
C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in `compile': compile error: see logs at C:/Users/NATHAN~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log (CompilationError)
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders/c.rb:114:in `shared_object'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:90:in `block in build'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `instance_eval'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/builders.rb:87:in `build'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:54:in `singleton_inline'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/ffi-inline-0.0.4.3/lib/ffi/inline/inline.rb:39:in `inline'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:in `<module:C>'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in `<module:Tesseract>'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in `<top (required)>'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `require'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `<top (required)>'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `require'
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `<top (required)>'
    from C:/Users/Nathanael/RubymineProjects/artie/lib/pdf/pdf2text.rb:3:in `require'
    from C:/Users/Nathanael/RubymineProjects/artie/lib/pdf/pdf2text.rb:3:in `<top (required)>'
    from -e:1:in `load'
    from -e:1:in `<main>'

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Process finished with exit code 3

00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log says:

sh -c 'g++ -shared -fPIC  -L C:\RailsInstaller\tesseract\lib -I C:\RailsInstaller\tesseract\include -o C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.dll C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp -ltesseract' 2>>C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log
sh -c 'g++ -shared -fPIC  -L C:\RailsInstaller\tesseract\lib -I C:\RailsInstaller\tesseract\include -o C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.dll C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp -ltesseract' 2>>C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log
sh -c 'g++ -shared -fPIC  -L C:\RailsInstaller\tesseract\lib -I C:\RailsInstaller\tesseract\include -o C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.dll C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp -ltesseract' 2>>C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log
sh -c 'g++ -shared -fPIC  -L C:\RailsInstaller\tesseract\lib -I C:\RailsInstaller\tesseract\include -o C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.dll C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp -ltesseract' 2>>C:/Users/NATHAN\~1/AppData/Local/Temp/.ffi-inline-0/00e0b400631114cdc58d7515dd19ec9a3c62d5b2.log

00e0b400631114cdc58d7515dd19ec9a3c62d5b2.cpp says:

#include <tesseract/strngs.h>

#line 38 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"
extern "C" {
            void free_array_of_char (char* pointer) {
                delete [] pointer;
            }
         }

#line 44 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"
extern "C" {
            void free_array_of_int (int* pointer) {
                delete [] pointer;
            }
         }

#line 50 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"
extern "C" {
            STRING* create_string (void) {
                return new STRING();
            }
         }

#line 56 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"
extern "C" {
            void destroy_string (STRING* value) {
                delete value;
            }
         }

#line 62 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"
extern "C" {
            int string_length (STRING* value) {
                return value->length();
            }
         }

#line 68 "C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb"
extern "C" {
            const char* string_content (STRING* value) {
                return value->string();
            }
         }
meh commented 11 years ago

The log doesn't say anything useful, you could try using the UNIX format for the paths in CFLAGS and LDFLAGS seeing the rest is done using that format.

Otherwise I don't know, I don't use Windows for a reason :panda_face:

tangtech commented 11 years ago

Thanks for your effort. I just can't seem to get it working though!