Я попытался установить рецепт mysql-connector-c через homebrew, и он прекрасно собирается, но выдает библиотеку x86_64:
$file ~/brew/lib/libmysql.dylib
.../brew/lib/libmysql.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Однако мне нужна библиотека i386 для моего проекта. Я попытался дать ему CFLAGS и LDFLAGS так:
CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" brew install mysql-connector-c
но ничего не меняется - он все еще строит x86_64 только двоичный. Есть ли способ заставить homebrew собрать библиотеку с двумя арками или библиотеку i386? Я имею архитектуру ядра установленную на x86_64, если это имеет значение.
Ответы:
Вы можете попробовать следующее:
а затем измените инициализацию в блоке "install".
Хотя я не пробовал это, вы должны сделать что-то вроде этого:
Вы можете проверить пример здесь: Проблемы с homebrew, не могу ничего установить ...
источник
ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386"
. i386 немного избыточен.Обнаружена похожая проблема при установке DevIL. Похоже, что Homebrew пытается очистить параметры командной строки, передаваемые инструментам, по крайней мере на ML:
Мне удалось изменить формулу, как в ответе Уолти, указав CFLAGS и CXXFLAGS, но вместо этого запустить установку со стандартной средой:
источник
Некоторые формулы имеют универсальную опцию, которая позволит вам компилировать и для i386, и для x86_64 одновременно:
Он
mysql-connector-c
не предлагает его как опцию, но мне было очень легко добавить опцию в другую формулу, над которой я работал: https://github.com/mxcl/homebrew/pull/18713/filesисточник