【问题标题】:Error setting up the tesseract OCR in gem in rails在 Rails 中的 gem 中设置 tesseract OCR 时出错
【发布时间】:2013-11-12 12:55:00
【问题描述】:

我正在尝试在我的 rails 环境中设置 tesseract-ocr gem。我已经运行了brew install tesseract,然后在应用程序上运行了捆绑安装,并且所有运行都没有错误但是在启动应用程序时(rails s)抛出以下错误:

/Users/xxxx/.rvm/gems/ruby-1.9.2-p290@xxxx/gems/ffi-inline-0.0.4.3/lib/ffi/inline/compilers/gcc.rb:35:in `compile': compile error: see logs at /var/folders/66/pm_j0lp94gvcj0qnlcnsx9pw0000gn/T/.ffi-inline-501/4239dac38f2a721e0dc5b3750d71ce2e6fa4acb6.log (CompilationError)

它引用了以下日志文​​件:

g++ -dynamic -bundle -fPIC  -L/usr/local/Cellar/tesseract/3.02.02/lib -I/usr/local/Cellar/tesseract/3.02.02/include -o /var/folders/66/pm_j0lp94gvcj0qnlcnsx9pw0000gn/T/.ffi-inline-501/4239dac38f2a721e0dc5b3750d71ce2e6fa4acb6.dylib /var/folders/66/pm_j0lp94gvcj0qnlcnsx9pw0000gn/T/.ffi-inline-501/4239dac38f2a721e0dc5b3750d71ce2e6fa4acb6.cpp -llept 2>>/var/folders/66/pm_j0lp94gvcj0qnlcnsx9pw0000gn/T/.ffi-inline-501/4239dac38f2a721e0dc5b3750d71ce2e6fa4acb6.log
/var/folders/66/pm_j0lp94gvcj0qnlcnsx9pw0000gn/T/.ffi-inline-501/4239dac38f2a721e0dc5b3750d71ce2e6fa4acb6.cpp:1:10: fatal error: 'leptonica/allheaders.h' file not found
#include <leptonica/allheaders.h>

我关注了这两个问题: https://github.com/meh/ruby-tesseract-ocr/issues/3https://github.com/meh/ruby-tesseract-ocr/issues/21

它谈到了我已经完成的设置 ​​ENV vars。我在 initalizers 文件夹中创建了一个 test.rb 文件,并设置了以下变量:

ENV['CFLAGS'] = '-I/usr/local/Cellar/tesseract/3.02.02/include' 
ENV['LDFLAGS'] = '-L/usr/local/Cellar/tesseract/3.02.02/lib'

但是这对启动应用程序时的错误没有影响。

我不明白当它说更新标题时是什么意思。我想知道是否有人可以确切地告诉我如何才能使其正常工作。

谢谢。

【问题讨论】:

    标签: ruby-on-rails gem ocr homebrew tesseract


    【解决方案1】:

    也有同样的错误。我通过为 tesseract 和 leptonica 安装 dev 软件包解决了这个问题。

    对于基于 debian 的系统

    sudo apt-get install libleptonica-dev libtesseract-dev

    对于红帽基础系统

    sudo yum insall leptonica-devel tesseract-devel

    这解决了我的问题。

    【讨论】:

      【解决方案2】:

      我已经解决了这个问题...

      以防万一其他人有问题,这正是我的解决方法:

      首先必须同时运行:

      brew 安装 tesseract

      brew 安装 leptonica

      然后在 Gemfile 中而不是在初始化程序中,您必须将两个库的路径都作为环境变量:

      ENV['CFLAGS'] = '-I/usr/local/Cellar/tesseract/3.02.02/include -I/usr/local/Cellar/leptonica/1.69/include' 
      ENV['LDFLAGS'] = '-L/usr/local/Cellar/tesseract/3.02.02/lib -L/usr/local/Cellar/leptonica/1.69/lib'
      

      【讨论】:

      • 谢谢,Smickie。但它不起作用(对于当前版本?)。 ENV['CFLAGS'] = '-I/usr/local/Cellar/tesseract/3.04.00/include -I/usr/local/Cellar/leptonica /1.72/include' ENV['LDFLAGS'] = '-L/ usr/local/Cellar/tesseract/3.04.00/lib -L/usr/local/Cellar/leptonica/1.72/lib' 你有什么想法吗? :)
      【解决方案3】:

      有这个问题(OS X El Capitan)。通过降级 tesseract 来修复

      brew uninstall --force tesseract
      brew install https://raw.githubusercontent.com/Homebrew/homebrew/8ba134eda537d2cee7daa7ebdd9f728389d9c53e/Library/Formula/tesseract.rb
      

      和更新xcode

      xcode-select --install
      

      【讨论】:

        猜你喜欢
        • 2018-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-26
        • 1970-01-01
        • 2013-02-06
        • 2016-05-01
        • 1970-01-01
        相关资源
        最近更新 更多