xapian-full安装在mac os x snow leopard上,但是在dlopen LoadError中失败了

时间:2010-04-02 05:06:48

标签: ruby macos rubygems osx-snow-leopard xapian

由于我尝试安装xapian但失败了,我尝试使用xapian-full的另一种选择。安装似乎进展顺利,但是当我尝试编写代码时,我再次尝试了错误消息:

irb(main):001:0> require 'xapian'
LoadError: dlopen(/opt/ruby-enterprise/lib/ruby/gems/1.8/gems/xapian-full-1.1.3.4/lib/_xapian.bundle, 9): Library not loaded: /usr/local/lib/libxapian-1.1.3.dylib
  Referenced from: /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/xapian-full-1.1.3.4/lib/_xapian.bundle
  Reason: image not found - /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/xapian-full-1.1.3.4/lib/_xapian.bundle
    from /opt/ruby-enterprise/lib/ruby/gems/1.8/gems/xapian-full-1.1.3.4/lib/_xapian.bundle
    from /opt/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    from /opt/ruby-enterprise/lib/ruby/site_ruby/1.8/xapian.rb:40
    from /opt/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /opt/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from (irb):1

任何人都知道如何解决这个问题?

4 个答案:

答案 0 :(得分:6)

到目前为止,在OSX上安装xapian的最简单方法是

sudo brew install xapian --python --ruby #etc

也许这对你有用,就像它对我有用一样。结帐自制,特别是http://github.com/mxcl/homebrew/blob/master/Library/Formula/xapian.rb

答案 1 :(得分:2)

这个问题与Ruby gem有关,而不是库本身。

我在尝试安装xapian-fu时遇到了同样的问题,并通过执行

解决了这个问题
  

cp /Library/Ruby/Gems/1.8/gems/xapian-full-1.1.3.4/xapian-core-1.1.3/.libs/* / usr / local / lib

(将RubyGems路径替换为安装路径)。

答案 2 :(得分:0)

我已经这么做了,我发现网上的说明似乎非常特定于操作系统和Xapian版本(因此,当你可以使用brew时的动机)。

但是,如果你正在寻找如何自己设置它,这是我最新的说明,今天早上成功构建,使用Xapian v1.2.3(撰写本文时的最新稳定版本),全新安装的OS X 10.6.4(Snow Leopard)。

确保先安装XCode。它包括您需要的编译器工具。

参考文献: http://www.telos.co.nz/2009/09/install-xapian-on-mac-os-x-10-6/ http://locomotivation.squeejee.com/post/109279130/simple-ruby-on-rails-full-text-search-using-xapian

[DOWNLOAD and EXPAND]
Download the CORE and BINDINGS files from the address below. File names should be similar to the following, while the version number may vary:
  xapian-core-1.2.3.tar.gz and
  xapian-bindings-1.2.3.tar.gz
From:
  http://xapian.org/download

Open up a terminal window and cd into the directory where you saved the .tar files
Run these commands to expand the .tar files  
  tar zxvf xapian-core-<version>.tar.gz
  tar zxvf xapian-bindings-<version>.tar.gz

[BUILD and INSTALL]  
  cd xapian-core-<version>
  ./configure --prefix=/opt
  make
  !!! the "make" command MUST exit with zero errors, or you'll need to try again !!!
  sudo make install

  cd xapian-bindings-<version>
  ./configure XAPIAN_CONFIG=/opt/bin/xapian-config
  make
  sudo make install

答案 3 :(得分:0)

https://github.com/rex1fernando/xapian-full修正了此问题。从那里,下载更新的 Rakefile 并将其放入

~/.gem/gems/xapian-full-1.1.3.4

键入

重建gem
rake

问题应该解决。

更新 rex1fernando 建议在http://masanjin.net/sup-bugs/msg323中使用更好的程序:

git clone git://github.com/rex1fernando/xapian-full.git
cd xapian-full
(sudo) gem uninstall xapian-full
gem build xapian-full.gemspec
(sudo) gem install --local xapian-full