es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El script de configuración de autoconf se rompió bajo una versión más nueva de Xcode.

Estoy tratando de construir el paquete apcupsd en una versión más nueva de MacOS y Xcode, pero el script configure suministrado con la versión actual de apcupsd falla en Xcode 12.4 (aunque funcionó en Xcode 11.2).

El error es que se requiere gethostbyname_r. Ahora, configure prueba esta función y normalmente se adapta a sistemas que no la proporcionan. Sin embargo, en la versión más nueva de Xcode, configure simplemente termina con un error. CREO que tiene algo que ver con Apple haciendo obligatoria la configuración de -Werror. He descubierto que puedo lograr una compilación exitosa comentando la prueba defectuosa en configure, luego ejecutándolo y pasando explícitamente la bandera que configure debería establecer. Pero eso no es muy satisfactorio.

¿Hay alguna forma general de pasar una anulación a configure para el compilador? Intenté establecer -Wno-error en las variables de entorno CPPFLAGS y CFLAGS para configure, pero el programa configtest parece ignorarlas. Lo que parece estar sucediendo es que configure ve que gethostbyname_r no existe y lo establece en no, pero luego más adelante lo vuelve a probar. Solo me pregunto si hay una bandera o algo para superar este error, ya que me parece que lo que Apple hizo para romper (o arreglar) Xcode después de la versión 11.2 podría haber afectado a muchos proyectos de otras personas.

Estoy buscando una solución que no involucre modificar el programa fuente ni los archivos de entrada de Autotools. El manual del proyecto no es útil en este sentido.


Como actualización: alguien en la lista de apcupsd me dijo que este problema está solucionado en una versión posterior de Xcode. Aún no lo he probado, pero si eso es lo que resulta ser, publicaré un seguimiento.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución para compilar el paquete apcupsd en versiones más nuevas de MacOS y Xcode

    Si el script configure suministrado con la versión actual de apcupsd no funciona correctamente en Xcode 12.4 (aunque sí funcionó en Xcode 11.2), y el error es que se requiere gethostbyname_r, entonces podría haber una forma general de pasar un reemplazo a configure para el compilador. Sin embargo, establecer -Wno-error en CPPFLAGS y CFLAGS no parece funcionar.

    Una solución para obtener una compilación exitosa sin modificar las fuentes del programa ni los archivos de entrada de Autotools, es comentar la prueba defectuosa en configure, luego ejecutarlo y pasar explícitamente la bandera que configure debe establecer. Sin embargo, esta no es una solución satisfactoria.

    Es posible que el problema esté solucionado en una versión más reciente de Xcode. Si este es el caso, entonces actualizar a una versión más nueva de Xcode puede resolver el problema. Una vez que la solución se haya probado, se puede publicar un seguimiento para confirmar la solución.

Comments are closed.