robertwbradford robertwbradford - 1 month ago 9
MySQL Question

"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

Answer

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.