¿Cómo se puede cambiar ./configure para usar un binario específico sobre /usr/bin?

¿Cómo se puede cambiar ./configure para usar un binario específico sobre /usr/bin?

Ejecutando macOS Catalina 10.15.6. Mi pregunta está más relacionada con la compilación con herramientas GNU, por lo que puede ser más adecuada para un sitio SE diferente; estaré feliz de cerrar y preguntar en otro lugar si ese es el caso.

Estoy intentando compilar software (es decir wine-6.0, ) y la compilación requiere bison, para lo cual ya existe un ejecutable en /usr/bin. Sin embargo, bison debe tener la versión >3.0 para compilar el programa y el binario /usr/bines la versión 2.7.6. Compilé bison 3.7.6 e iba a mover el nuevo binario bison 3.7, /usr/binpero debido a la protección del sistema de archivos de macOS, no puedo simplemente reemplazarlo /usr/bin/bison. Tendría que reiniciar mi Mac en modo de recuperación para desactivar el bloqueo del sistema de archivos, pero tengo algo abierto que no puede dejar de ejecutarse en este momento.

El uso ./configure --enable-win64da el siguiente error:

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 solucionarlo, pensé que la modificación PATHfuncionaría; Moví el binario bison 3.7.6 /usr/local/bin/bisony lo hice export PATH=/usr/local/bin:$PATHantes, ./configurepero no funciona; Todavía son solo errores acerca de no tener bisonte> 3.0 (el mismo error que antes, intenté meterme con bisonte):

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.

Lo extraño es que simplemente intentar ejecutar bison usa el binario correcto.

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

$ which bison
/usr/local/bin/bison

También intenté alterar configure.acun poco el archivo, pero el problema es que no sé realmente qué estoy haciendo allí. Editar el archivo de configuración y volver a ejecutarlo autoconfy usarlo ./configuretodavía no funciona. En última instancia, mi pregunta es: ¿cómo me aseguro ./configurede utilizar el binario bisonte correcto?

Respuesta1

Mi problema fue que la bisoninstalación fue mala.

Compilé bison desde la fuente en configure --prefix=/usr/locallugar de dejar que Brew decidiera dónde colocar todo y luego me aseguré de que PATH fuera correcto al usarlo configurepara generar el archivo MAKE para la compilación de Wine, y funcionó.

El problema surgió porque el script de configuración de Wine simplemente verificaba el código de salida de ejecutar Bison en un archivo vacío para verificar la versión. Debido a que bison fallaba debido a una instalación defectuosa, daba el código de salida de error, lo que hacía que el script de configuración creyera que bison era una versión insuficiente.

información relacionada