在轨道中的 gem 中设置镶嵌 OCR 时出错



我正在尝试在我的轨道环境中设置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/3 和 https://github.com/meh/ruby-tesseract-ocr/issues/21

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

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

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

我不明白当它说更新标题时是什么意思。我想知道是否有人可以确切地告诉我该怎么做才能让它工作。

谢谢。

也有

同样的错误。我通过安装用于 tesseract 和 leptonica 的 dev 包解决了它。

对于基于 debian 的系统

sudo apt-get install libleptonica-dev libtesseract-dev

对于红帽基本系统

sudo yum insall leptonica-devel tesseract-devel

这为我解决了问题。

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

以防万一其他人有问题,这正是我的修复方式:

首先必须同时运行:

brew install tesseract

酿造安装莱普托尼卡

然后在 Gemfile NOT 中的初始值设定项中,您必须将库的两个路径都作为 env var 放置:

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'

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

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

和更新 xcode

xcode-select --install

最新更新