【问题标题】:tesseract gem won't compile in Rubytesseract gem 不会在 Ruby 中编译
【发布时间】:2013-01-16 17:25:36
【问题描述】:

这里的总菜鸟,但无法弄清楚如何克服这个错误。我希望在运行 Centos 6 的 Linux 服务器上安装和运行“tesseract”gem。结果似乎是 -ltesseract 应该在 /usr/bin/ld 中,但不是...

我已阅读发布的其他 tesseract / Ruby 问题,但我认为我没有任何这些问题。

非常感谢任何帮助。


错误信息

g++ -shared -fPIC    -o /tmp/.ffi-inline-0/3751549a49315e9a7703c6e20a39e587297ce8a8.so /tmp/.ffi-inline-0/3751549a49315e9a7703c6e20a39e587297ce8a8.cpp -ltesseract 2>>/tmp/.ffi-inline-0/3751549a49315e9a7703c6e20a39e587297ce8a8.log
/usr/bin/ld: cannot find -ltesseract
collect2: ld returned 1 exit status

操作错误

[x@y ~]# irb
1.9.3-p327 :001 > require 'tesseract'
CompilationError: compile error: see logs at /tmp/.ffi-inline-0/3751549a49315e9a7703c6e20a39e587297ce8a8.log
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/compilers/gcc.rb:31:in `compile'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/builders/c.rb:114:in `shared_object'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/builders.rb:90:in `block in build'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/builders.rb:87:in `instance_eval'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/builders.rb:87:in `build'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/inline.rb:54:in `singleton_inline'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/ffi-inline-0.0.4.2/lib/ffi/inline/inline.rb:39:in `inline'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:34:in `<module:C>'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:31:in `<module:Tesseract>'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/tesseract-ocr-0.1.5/lib/tesseract/c.rb:29:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/tesseract-ocr-0.1.5/lib/tesseract/api.rb:26:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/tesseract-ocr-0.1.5/lib/tesseract-ocr.rb:35:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from /usr/local/rvm/gems/ruby-1.9.3-p327/gems/tesseract-ocr-0.1.5/lib/tesseract.rb:25:in `<top (required)>'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
        from (irb):1
        from /usr/local/rvm/rubies/ruby-1.9.3-p327/bin/irb:13:in `<main>'1.9.3-p327

宝石版

[x@y ~]# gem list
[...]
tesseract-ocr (0.1.5)
[...]

GCC 版本

[x@y ~]# gcc --version
gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)
[...]

操作系统

[x@y ~]# cat /etc/*release*
CentOS release 6.3 (Final)

Ruby 版本

[x@y ~]# ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]

RVM 版本(以防万一)

[x@y ~]# rvm -v
rvm 1.17.2 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

【问题讨论】:

    标签: ruby gem centos tesseract


    【解决方案1】:

    尝试在您的系统中安装 tesseract 包。 我假设是yum install tesseract

    【讨论】:

    • $ sudo yum install tesseract Loaded plugins: fastestmirror, priorities, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.vooservers.com * epel: mirror.bytemark.co.uk * extras: mirror.sov.uk.goscomb.net * updates: mirrors.vooservers.com Setting up Install Process No package tesseract available. Error: Nothing to do
    • link下载一个rpm包
    • 然后用 yum –nogpgcheck install tesseract-3.02.02-3.1.i686.rpm 安装它(cd to dir-with-package) PS:您应该始终检查来自不受信任来源的软件包
    • 您可能还想添加存储库 RPMforge link 然后像普通的一样安装一个包。 yum install tesseract tesseract-en 我认为这是最简单的方法。
    • 很抱歉在这里继续做一个菜鸟,但是...... a) 你的前两个 cmets 说:下载这个东西,但永远不要相信我告诉你下载的东西(正确的?)。所以,根据你的建议,我没有下载它。 :/ b) 所以我按照你第三条评论中的说明进行操作,但没有骰子:“没有可用的包 tesseract。没有可用的包 tesseract-en。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多