Search code examples
mysqlruby-on-railsthinking-sphinx

"Sphinx cannot be found on your system." when running "rake ts:index"


I'm setting up a new machine (OS X 10.6.7) to run a Rails app which uses ThinkingSphinx. I have followed the installation instructions, but I'm still getting the following:

$ rake ts:index
(in /Users/robert/Projects/Office/code/office)
sh: line 1:  7050 Trace/BPT trap          indexer 2>&1
sh: line 1:  7053 Trace/BPT trap          indexer 2>&1

Sphinx cannot be found on your system. You may need to configure the following settings in your config/sphinx.yml file:
  * bin_path
  * searchd_binary_name
  * indexer_binary_name

For more information, read the documentation:
http://freelancing-god.github.com/ts/en/advanced_config.html
sh: line 1:  7055 Trace/BPT trap          indexer 2>&1
Generating Configuration to /Users/robert/Projects/Office/code/office/config/development.sphinx.conf
dyld: Library not loaded: libmysqlclient.18.dylib
  Referenced from: /usr/local/bin/indexer
  Reason: image not found

I read here to run the following:

sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql

But I'm still getting the same error. Not sure if this helps, but some more info:

$ cd /usr/local/mysql/lib
$ ls
lib                        libmysqlclient_r.dylib
libmysqlclient.18.dylib    libmysqld-debug.a
libmysqlclient.a           libmysqld.a
libmysqlclient.dylib       libmysqlservices.a
libmysqlclient_r.18.dylib  mysql
libmysqlclient_r.a         plugin

And from my config/sphinx.yml:

development:
  port: 9312
  enable_star: true
  min_prefix_len: 2
  html_strip: true
  bin_path: /usr/local/bin
production:
  port: 9312
  enable_star: true
  min_prefix_len: 2
  html_strip: true
  bin_path: /usr/local/bin

Solution

  • The sphinx indexing engine consists of a few binaries, for example for indexing, it uses an executable called "indexer". Try to set the values in config/sphinx.yml to the path where you installed sphinx, as suggested in the error message.