J'ai essayé d'installer la recette mysql-connector-c via homebrew, et elle se construit très bien, mais produit la bibliothèque x86_64:
$file ~/brew/lib/libmysql.dylib
.../brew/lib/libmysql.dylib: Mach-O 64-bit dynamically linked shared library x86_64
J'ai cependant besoin de la bibliothèque i386 pour mon projet. J'ai essayé de lui donner des CFLAGS et LDFLAGS comme ceci:
CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" brew install mysql-connector-c
mais rien ne change - il construit toujours x86_64 uniquement en binaire. Existe-t-il un moyen de faire en sorte que l'homebrew crée une bibliothèque à double arc ou une bibliothèque i386? J'ai l'architecture du noyau réglée sur x86_64, si cela importe.
Réponses:
Vous pouvez essayer ce qui suit:
puis modifiez l'initialisation dans le bloc "install".
Bien que je n'aie pas essayé cela, vous êtes censé faire quelque chose comme ceci:
Vous pouvez vérifier l'exemple ici: Problèmes avec homebrew, impossible d'installer quoi que ce soit ...
la source
ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386"
. i386 est un peu excessif.Problème similaire rencontré lors de l'installation de DevIL. Il semble que Homebrew essaie de nettoyer les paramètres de ligne de commande passés aux outils, au moins sur ML:
Cela a fonctionné pour moi de modifier la formule comme dans la réponse de Walty pour spécifier CFLAGS et CXXFLAGS, mais exécutez plutôt l'installation avec un environnement standard:
la source
Certaines formules ont une option universelle qui vous permettrait de compiler à la fois pour i386 et x86_64 en même temps:
Le
mysql-connector-c
ne le propose pas en option mais j'ai trouvé très facile d'ajouter l'option à une autre formule sur laquelle je travaillais: https://github.com/mxcl/homebrew/pull/18713/filesla source