Homebrew farklı kemer ile inşa?


9

Homebrew aracılığıyla mysql-connector-c tarifi yüklemeye çalıştım ve sadece iyi inşa, ancak x86_64 kitaplığı üretir:

  $file ~/brew/lib/libmysql.dylib 
  .../brew/lib/libmysql.dylib: Mach-O 64-bit dynamically linked shared library x86_64

Ancak projem için i386 kütüphanesine ihtiyacım var. CFLAGS ve LDFLAGS böyle vermeye çalıştım:

  CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64" brew install mysql-connector-c

ama hiçbir şey değişmez - hala x86_64 sadece ikili oluşturur. Homebrew'un çift kemer kitaplığı veya i386 kitaplığı oluşturmasını sağlamanın bir yolu var mı? Eğer önemli ise, x86_64 olarak ayarlanmış çekirdek mimarim var.


hangi mac sürümünü kullanıyorsunuz? Mac 10.8.1'imde çalışmasını sağlayamıyorum. Değiştirilmiş demleme komut dosyanızı buraya referans olarak yapıştırabilir misiniz? Çok teşekkürler.
Kane

Yanıtlar:


5

Aşağıdakileri deneyebilirsiniz:

brew edit mysql-connector-c

ve sonra "install" bloğundaki başlatmayı değiştirin.

Ben bunu denemedim rağmen, böyle bir şey yapmanız gerekiyor:

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

Örneği buradan kontrol edebilirsiniz: Homebrew ile ilgili sorunlar, hiçbir şey yükleyemiyor ...


Peki oraya ne koyardım? CFLAGS tanımları?
StasM

Verilen bağlantı diyor: ENV['CFLAGS']=ENV['CXXFLAGS']="-arch i386". i386 biraz fazla.
harrymc

çalışıyor gibi görünüyor, kütüphane şimdi i386. Teşekkür ederim!
StasM

@harrymc ve StasM, hangi mac sürümünü kullanıyorsunuz? Mac 10.8.1'imde çalışmasını sağlayamıyorum. Değiştirilmiş demleme komut dosyanızı buraya referans olarak yapıştırabilir misiniz? Teşekkürler.
Kane

Kanalı Madeni 10.6.8.
StasM

5

DevIL'i yüklerken benzer bir sorunla karşılaştı. Görünüşe göre Homebrew en azından ML'de araçlara geçirilen komut satırı parametrelerini sterilize etmeye çalışıyor:

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

CFLAGS ve CXXFLAGS'ı belirtmek için Walty'nin cevabındaki formülü düzenlemek benim için çalıştı, ancak bunun yerine standart bir ortamla kurulumu çalıştırın:

$ brew install --env=std devil

3

Bazı Formüller, hem i386 hem de x86_64 için aynı anda derlemenize izin veren evrensel bir seçeneğe sahiptir:

$ brew options sdl
--universal
        Build a universal binary

mysql-connector-cBir seçenek olarak sunmuyor ama çok kolay üzerinde çalıştığım başka formüle seçeneği eklemek için bulundu: https://github.com/mxcl/homebrew/pull/18713/files

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.