Muda as bandeiras de compilação para o Homebrew

6

Estamos criando um grande aplicativo C ++ no OS X Yosemite 10.10. Este aplicativo depende de várias bibliotecas de terceiros que instalamos usando o Homebrew antes de criar nosso aplicativo. Nosso script de lançamento pega todas as dependências e as inclui no pacote final.

Vários de nossos usuários relataram que nosso aplicativo não funcionou em seu Mac. Por exemplo, um usuário executando o macOS 10.12.6 em um iMac de 27 polegadas do final de 2012 está recebendo llegal instruction: 4 (todos os detalhes aqui ).

Parece que a falha ocorre em uma das dependências de terceiros que empacotamos, o OpenImageIO, que foi instalado na máquina de compilação com os seguintes comandos:

brew tap homebrew/science
brew install openimageio

brew info openimageio informa que, de fato, foi criado a partir da fonte:

/usr/local/Cellar/openimageio/1.7.17_1 (66 files, 16.0MB) *
  Built from source on 2017-11-27 at 19:15:19

Eu suspeito que o Homebrew permite conjuntos avançados de instruções x86 ao compilar na máquina de compilação.

Veja a fórmula do Homebrew para OpenImageIO: link

Existe uma maneira de descobrir quais flags ou quais linhas de comando o Homebrew está usando?

Alternativamente, existe uma maneira de definir globalmente os flags padrão do clang no macOS?

    
por François Beaune 30.11.2017 / 08:53

0 respostas