Створіть саморобку з різною аркою?


9

Я спробував встановити рецепт 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 лише двійковий. Чи є який-небудь спосіб змусити домашню мову створити або подвійну бібліотеку арки, або бібліотеку i386? У мене архітектура ядра встановлена ​​на x86_64, якщо це має значення.


яку версію Mac ви використовуєте? Я не можу змусити його працювати на моєму Mac 10.8.1. Чи можете ви вставити сюди модифікований сценарій заварки як довідник? Дуже дякую.
Кейн

Відповіді:


5

Ви можете спробувати наступне:

brew edit mysql-connector-c

а потім змінити ініціалізацію в блоці "встановити".

Хоча я цього і не пробував, ти повинен зробити щось подібне:

ENV['CFLAGS']='xxx'
ENV['LDFLAGS']='xxx'

Ви можете перевірити приклад тут: Проблеми з домашньою мовою, неможливо нічого встановити ...


То що б я там помістив Визначення CFLAGS?
StasM

Це посилання говорить: ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386". i386 трохи надмірний.
harrymc

здається, працює, бібліотека зараз i386. Дякую!
StasM

@harrymc та StasM, яку версію Mac ви використовуєте? Я не можу змусити його працювати на моєму Mac 10.8.1. Чи можете ви вставити сюди модифікований сценарій заварки як довідник? Дякую.
Кейн

@Kane Шахта 10.6.8.
StasM

5

Зустрівшись із подібною проблемою, встановивши DevIL. Схоже, що Homebrew намагається переосмислити параметри командного рядка, передані інструментам, принаймні в ML:

$ brew install -v devil
...
brew: superenv removed: -arch i386
...

Мені працювало редагувати формулу, як у відповіді Walty, щоб вказати CFLAGS та CXXFLAGS, але замість цього запустіть інсталяцію зі стандартним середовищем:

$ brew install --env=std devil

3

У деяких формулах є універсальний варіант, який дозволить вам компілювати одночасно і i386, і x86_64:

$ brew options sdl
--universal
        Build a universal binary

mysql-connector-cЧи не пропонує його як варіант , але я знайшов його дуже легко додати опцію іншу формулу я працював: https://github.com/mxcl/homebrew/pull/18713/files

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.