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/bin
es la versión 2.7.6. Compilé bison 3.7.6 e iba a mover el nuevo binario bison 3.7, /usr/bin
pero 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-win64
da 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 PATH
funcionaría; Moví el binario bison 3.7.6 /usr/local/bin/bison
y lo hice export PATH=/usr/local/bin:$PATH
antes, ./configure
pero 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.ac
un 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 autoconf
y usarlo ./configure
todavía no funciona. En última instancia, mi pregunta es: ¿cómo me aseguro ./configure
de utilizar el binario bisonte correcto?
Respuesta1
Mi problema fue que la bison
instalación fue mala.
Compilé bison desde la fuente en configure --prefix=/usr/local
lugar de dejar que Brew decidiera dónde colocar todo y luego me aseguré de que PATH fuera correcto al usarlo configure
para 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.