Ich habe versucht, das Rezept mysql-connector-c über Homebrew zu installieren, und es funktioniert einwandfrei, erzeugt aber eine x86_64-Bibliothek:
$file ~/brew/lib/libmysql.dylib
.../brew/lib/libmysql.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Ich benötige jedoch eine i386-Bibliothek für mein Projekt. Ich habe versucht, es CFLAGS und LDFLAGS wie folgt zu geben:
CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" brew install mysql-connector-c
aber nichts ändert sich - es baut immer noch x86_64 nur binär. Gibt es eine Möglichkeit, Homebrew dazu zu bringen, entweder eine Dual-Arch-Bibliothek oder eine i386-Bibliothek zu erstellen? Ich habe die Kernel-Architektur auf x86_64 eingestellt, wenn es darauf ankommt.
Antworten:
Sie können Folgendes versuchen:
und ändern Sie dann die Initialisierung im Block "Installieren".
Obwohl ich das nicht ausprobiert habe, solltest du so etwas machen:
Sie können das Beispiel hier überprüfen: Probleme mit Homebrew, kann nichts installieren ...
quelle
ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386"
. i386 ist etwas übertrieben.Es ist ein ähnliches Problem bei der Installation von DevIL aufgetreten. Es scheint, dass Homebrew versucht, an Tools übergebene Befehlszeilenparameter zu bereinigen, zumindest unter ML:
Es hat bei mir funktioniert, die Formel wie in der Antwort von Walty zu bearbeiten, um CFLAGS und CXXFLAGS anzugeben, aber stattdessen die Installation mit einer Standardumgebung auszuführen:
quelle
Einige Formeln verfügen über eine universelle Option, mit der Sie gleichzeitig für i386 und x86_64 kompilieren können:
Das
mysql-connector-c
bietet es nicht als Option an, aber ich fand es sehr einfach, die Option zu einer anderen Formel hinzuzufügen, an der ich gearbeitet habe: https://github.com/mxcl/homebrew/pull/18713/filesquelle