Пассажирская ошибка "библиотека не загружена" - PullRequest
1 голос
/ 23 ноября 2010

Получение этой ошибки от Пассажира (с Apache).Не уверен, что это значит ...

 dlopen(/path/to/myapp/shared/bundle/ruby/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): 
 Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib 
 Referenced from: /path/to/myapp/shared/bundle/ruby/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle 
 Reason: image not found - /path/to/myapp/shared/bundle/ruby/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

Установленный Ruby на самом деле 1.9.2, но гемы по этому пути находятся по пути 1.9.1 по любой причине ...

это как-то связано с тем, что я использую камень mysql2 вместо mysql?

Или, может быть, это может быть связано со второй строкой " Библиотека не загружена"где это выглядит, как будто он пытается загрузить неправильный libmysqlclient.16.dylib?Поскольку путь /usr/local/mysql указывает на версию mysql, которая не работает.Версия mysql, которая работает, находится в /usr/bin/. Я бы попытался изменить это, но понятия не имею, как!?!

1 Ответ

3 голосов
/ 23 ноября 2010

В объявлении для Ruby 1.9.2 написано (sic)

Эта версия является "совместимой с библиотекой версией". Ruby 1.9.2 совместим почти с 1.9.1, поэтому библиотека установлена ​​в директории 1.9.1.

Именно поэтому каталоги ruby ​​ называются «1.9.1»; это нормально.


Ваш экземпляр драгоценного камня mysql2 создан на основе библиотеки /usr/local/mysql/lib/libmysqlclient.16.dylib. По той или иной причине эта библиотека в настоящее время недоступна в вашей системе по этому пути (MySQL удален / перемещен / обновлен?).


Вам, вероятно, нужно пересобрать ваш mysql2 гем и указать на mysql_config (или mysql_config5) из вашей установки MySQL (в /usr/bin?):

gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...