«Сфинкс не найден в вашей системе». при запуске "rake ts: index" - PullRequest
1 голос
/ 31 мая 2011

Я настраиваю новую машину (OS X 10.6.7) для запуска приложения Rails, которое использует ThinkingSphinx.Я выполнил инструкции по установке, но все еще получаю следующее:

$ 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

Я прочитал здесь , чтобы выполнить следующее:

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

Но яЯ все еще получаю ту же ошибку.Не уверен, что это поможет, но немного больше информации:

$ 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

И из моего 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

Ответы [ 3 ]

2 голосов
/ 20 сентября 2011

Ошибка выдается при загрузке исполняемых файлов. По какой-то причине динамический загрузчик не может найти библиотеки MySQL. Я видел это несколько раз в последних выпусках MySQL.

Вы можете изменить путь поиска библиотеки MySQL в двоичных файлах, чтобы загрузчик загружал их из определенного места, например:

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/indexer

Вам нужно будет сделать то же самое для всех остальных двоичных файлов Sphinx (например, searchd).

2 голосов
/ 31 мая 2011

Механизм индексации сфинкса состоит из нескольких двоичных файлов, например, для индексации, он использует исполняемый файл, называемый «индексатор». Попробуйте установить значения в config / sphinx.yml на путь, по которому вы установили sphinx, как указано в сообщении об ошибке.

0 голосов
/ 28 октября 2016

Иногда эти проблемы возникали, если вы установили движок sphinx перед установкой mysql.

В этом случае вам необходимо удалить sphinx и установить его с помощью следующей команды в macosx.

brew install sphinx --with-mysql

Как только вы это сделаете, проблема с эталоном будет решена.

...