Como você pode alterar ./configure para usar um binário específico em/usr/bin?

Como você pode alterar ./configure para usar um binário específico em/usr/bin?

Executando o macOS Catalina 10.15.6. Minha pergunta está mais relacionada à compilação com ferramentas GNU, portanto pode ser mais adequada para um site SE diferente - ficarei feliz em encerrar e perguntar em outro lugar se for esse o caso.

Estou tentando compilar software (ou seja, wine-6.0) e a compilação requer bison, para o qual já existe um executável em /usr/bin. No entanto, o bison precisa ter a versão> 3.0 para compilar o programa e o binário /usr/biné a versão 2.7.6. Compilei o bison 3.7.6 e ia apenas mover o novo binário do bison 3.7, /usr/binmas devido à proteção do sistema de arquivos do macOS, não posso simplesmente substituir o /usr/bin/bison. Eu teria que reiniciar meu mac no modo de recuperação para desativar o bloqueio do sistema de arquivos, mas tenho algo aberto que não pode parar de funcionar no momento.

Usando ./configure --enable-win64dá o seguinte erro:

checking for bison... bison
checking whether bison is recent enough... no
configure: error: Your bison version is too old. Please install bison version 3.0 or newer.

Para consertar, pensei que modificar PATHfuncionaria; Mudei o binário do bison 3.7.6 para /usr/local/bin/bisone fiz export PATH=/usr/local/bin:$PATHantes ./configure, mas não funciona; ainda há apenas erros sobre não ter bisão> 3,0 (o mesmo erro de antes de tentar mexer com bisão):

checking for bison... bison
checking whether bison is recent enough... no
configure: error: Your bison version is too old. Please install bison version 3.0 or newer.

O estranho é que apenas tentar executar o bison usa o binário correto.

$ bison -V
bison (GNU Bison) 3.7.6
Written by Robert Corbett and Richard Stallman.
...

$ which bison
/usr/local/bin/bison

Também tentei mexer configure.acum pouco no arquivo, mas o problema é que não sei bem o que estou fazendo ali. Editar o arquivo de configuração, executá-lo novamente autoconfe usá-lo ./configureainda não funciona. Em última análise, minha pergunta é: como posso garantir ./configureo uso do binário bisonte correto?

Responder1

Meu problema era que a bisoninstalação estava ruim.

Compilei o bison a partir do código-fonte, em configure --prefix=/usr/localvez de deixar o brew decidir onde colocar tudo e, em seguida, certifiquei-me de que o PATH estava correto ao usar configurepara gerar o makefile para a compilação do vinho, e funcionou.

O problema surgiu do script de configuração do wine apenas verificando o código de saída da execução do Bison em um arquivo vazio para verificar a versão. Como o bison estava falhando devido a uma instalação interrompida, ele estava fornecendo o código de saída do erro, fazendo com que o script de configuração acreditasse que o bison era uma versão insuficiente.

informação relacionada