0

我正在尝试创建一个可以包装的 gem libpuzzle,但无法解决这个flat_namespace问题:

--- personal/sayzame ‹master* M⁇› » gem build sayzame.gemspec && gem install sayzame-0.0.1.gem
  Successfully built RubyGem
  Name: sayzame
  Version: 0.0.1
  File: sayzame-0.0.1.gem
Building native extensions.  This could take a while...
Successfully installed sayzame-0.0.1
1 gem installed
--- personal/sayzame ‹master* M⁇› » pry -rsayzame -Ilib                                       
[1] pry(main)> Sayzame.compare_images :a, :b
dyld: lazy symbol binding failed: Symbol not found: _puzzle_init_dvec
  Referenced from: /usr/local/lib/libpuzzle.dylib
  Expected in: flat namespace

dyld: Symbol not found: _puzzle_init_dvec
  Referenced from: /usr/local/lib/libpuzzle.dylib
  Expected in: flat namespace

[1]    56394 trace trap  pry -rsayzame -Ilib

我的完整源代码在这里:https ://github.com/neezer/sayzame

我很确定问题出在我的ext/puzzle/extconf.rb文件中,因为我没有正确链接库。我已经在ffi/ffi's issue tracker上发布了关于它的信息,并跟进了这两条线索,但没有成功。

我真的很感激这里的任何帮助;很长一段时间以来,我一直把我的头撞在墙上。

可能相关: - https://groups.google.com/d/msg/picky-ruby/8kuG8FkATgU/89JLc6U7SrcJ

4

0 回答 0