Próbowałem zainstalować przepis mysql-connector-c za pośrednictwem homebrew i buduje się dobrze, ale tworzy bibliotekę x86_64:
$file ~/brew/lib/libmysql.dylib
.../brew/lib/libmysql.dylib: Mach-O 64-bit dynamically linked shared library x86_64
Potrzebuję jednak biblioteki i386 do mojego projektu. Próbowałem nadać mu CFLAGS i LDFLAGS w następujący sposób:
CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" brew install mysql-connector-c
ale nic się nie zmienia - nadal buduje x86_64 tylko binarnie. Czy jest jakiś sposób, aby homebrew zbudował bibliotekę z podwójnym łukiem lub bibliotekę i386? Mam architekturę jądra ustawioną na x86_64, jeśli ma to znaczenie.
Odpowiedzi:
Możesz spróbować:
a następnie zmodyfikuj inicjalizację w bloku „zainstaluj”.
Chociaż tego nie wypróbowałem, powinieneś zrobić coś takiego:
Możesz sprawdzić przykład tutaj: problemy z homebrew, nic nie można zainstalować ...
źródło
ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386"
. i386 jest nieco przesadny.Wystąpił podobny problem z instalacją DevIL. Wygląda na to, że Homebrew próbuje odkazić parametry wiersza poleceń przekazane do narzędzi, przynajmniej w ML:
Pomogło mi edytowanie formuły jak w odpowiedzi Walty, aby określić CFLAGS i CXXFLAGS, ale zamiast tego uruchom instalację ze standardowym środowiskiem:
źródło
Niektóre formuły mają uniwersalną opcję, która pozwala na kompilację zarówno dla i386, jak i x86_64 w tym samym czasie:
mysql-connector-c
Nie oferuje go jako opcja, ale uważam, że bardzo łatwo dodać opcję do innego wzoru byłem w pracy: https://github.com/mxcl/homebrew/pull/18713/filesźródło