Homebrew construir com arco diferente?

9

Eu tentei instalar a receita mysql-connector-c via homebrew, e ela é construída muito bem, mas produz a biblioteca x86_64:

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

Eu, no entanto, preciso da biblioteca i386 para o meu projeto. Eu tentei dar CFLAGS e LDFLAGS assim:

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

mas nada muda - ele ainda constrói o x86_64 apenas binário. Existe alguma maneira de fazer homebrew construir biblioteca de arco duplo ou biblioteca i386? Eu tenho a arquitetura do kernel definida como x86_64, se isso for importante.

    
por StasM 04.09.2011 / 05:11

3 respostas

5

Você pode tentar o seguinte:

brew edit mysql-connector-c

e depois modifique a inicialização no bloco "install".

Embora eu não tenha tentado isso, você deveria fazer algo assim:

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

Você pode verificar o exemplo aqui: Problemas com homebrew, pode é possível instalar qualquer coisa ...

    
por 16.04.2012 / 08:06
5

Encontrou um problema semelhante ao instalar o DevIL. Parece que o Homebrew está tentando limpar os parâmetros de linha de comando passados para as ferramentas, pelo menos no ML:

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

Trabalhei para mim editar a fórmula como na resposta de Walty para especificar CFLAGS e CXXFLAGS, mas em vez disso, instale com um ambiente padrão:

$ brew install --env=std devil
    
por 30.10.2012 / 01:21
3

Algumas fórmulas têm uma opção universal que permite que você compile para i386 e x86_64 ao mesmo tempo:

$ brew options sdl
--universal
        Build a universal binary

O mysql-connector-c não oferece isso como uma opção, mas achei muito fácil adicionar a opção a outra fórmula na qual eu estava trabalhando: link

    
por 25.03.2013 / 07:18