OSX上的Ruby PDFLib:require中的LoadError

时间:2015-08-21 10:57:22

标签: ruby macos pdflib

我刚下载并安装了Ruby for OSX版本的PDFLib(来自pdflib.com) 我使用以下设置:
    ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin12.4.0]
    OSX Yosemite 10.10.4
    PDFLib 9.0.5

我的Ruby文件中的require 'PDFLib'语句产生以下错误消息:
/Users/[...]/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in 'require': dlsym(0x7ff6e3ef4b90, Init_PDFLib): symbol not found - [...]/PDFLib.bundle (LoadError)

因此,似乎Ruby解释器无法在库中找到Init_PDFLib。但是从nm的输出中我得知这个符号似乎存在:
$ nm -g ./PDFlib.bundle | grep -i init
0000000000001200 T _Init_PDFlib
[...]

有谁知道出了什么问题?提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

发现它!

PDFlib文件名为PDF l ib.bundle(小 l ),我的代码执行了'PDF L ib' (大写 L ) 事实证明,无论错误的大小写是什么,require都会加载包文件,但随后会搜索不存在的Init_PDF L ib符号。
因此,将require语句更改为require 'PDFlib'(小 l )就可以了。