Я переношу разработку Crystal Lang в новую машину под управлением OSX El-Capitan.Crystal Lang: не удается скомпилировать приложение с библиотекой MySQL на OSX El Capitan
я столкнулась с проблемой, где при компиляции приложения с привязками MySQL, кристалл компилятор выдает эту ошибку:
$ crystal build src/test1.cr
ld: library not found for -lmysqlclient
лязг: ошибка: команда линкер потерпела неудачу с кодом выхода 1 (использование -v, чтобы увидеть вызов)
Error: execution of command failed with code: 1: `cc -o "/Users/james/cprojects/test1/test1" "${@}" -rdynamic -lmysqlclient -lpcre -lgc -lpthread /usr/local/Cellar/crystal-lang/0.18.7_1/src/ext/libcrystal.a -levent -liconv -ldl -L/usr/lib -L/usr/local/lib`
в предыдущих версиях OSX, Все, что мне нужно было сделать так символическая ссылка, и это делает трюк:
ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
К сожалению, El Capitan, это невозможно
ln: /usr/lib/libmysqlclient.18.dylib: Operation not permitted
Это содержимое/USR/местные/MySQL/Lib/(обратите внимание, что в настоящее время я использую v20 InstEd 18)
libmysqlclient.20.dylib libmysqld-debug.a mecab
libmysqlclient.a libmysqld.a pkgconfig
libmysqlclient.dylib libmysqlservices.a plugin
Я видел некоторые идеи об использовании install_name_tool, специфичных для XCode.
Может ли кто-нибудь, кто переехал в Эль-Капитан, пролить свет? Каков наилучший способ сделать это?
Другой вариант - установить переменную среды 'LIBRARY_PATH'. Для Crystal флаг '-L' может быть передан через опцию' --link-flags' для 'crystal build'. Интересно, не возможно ли для доморощенного или любого другого, установленного MySQL, исправить ситуацию здесь? –