Error al construir Squid con OpenSSL debido al uso de funciones obsoletas (deprecated).
Estoy intentando construir Squid con OpenSSL, pero fallo debido a que make presenta advertencias como errores.
Un ejemplo: gadgets.h -> error 'void RSA_free(RSA*)' está en desuso; Desde **Openssl 3.0.0** -Werror=deprecated-declarations ..
Supongo que -Werror=deprecated-declarations
indica a make que trate estas advertencias como errores. ¿Pero en qué archivo se encuentra -Werror=deprecated-declarations
? ¿Cómo puedo suprimirlo / evitarlo?
Necesito Squid con OpenSSL.
davy.ai
Como experto en IT especializado en makefile, errores de compilador, openssl y squid, puedo aconsejar sobre cómo resolver el problema de que make trate las advertencias como errores al compilar squid con openssl.
En primer lugar, es esencial comprender que la opción “-Werror=deprecated-declarations” activa el comportamiento de tratar todas las advertencias relacionadas con declaraciones obsoletas como errores. Esta opción se agrega generalmente a las variables CFLAGS o CXXFLAGS en el makefile.
Para suprimir esta advertencia/error, puede modificar el makefile eliminando “-Werror=deprecated-declarations” de la variable CFLAGS o CXXFLAGS. Una forma de hacer esto es ejecutar el script de configuración con el parámetro “–disable-warnings-as-errors” para desactivar las advertencias como errores.
Alternativamente, puede anular la opción de CFLAGS o CXXFLAGS especificando un nuevo valor al ejecutar el comando make. Por ejemplo, puede ejecutar “make CFLAGS=”-Wno-error=deprecated-declarations” para suprimir la opción “-Werror=deprecated-declarations”.
Finalmente, después de suprimir la advertencia/error, puede proceder a compilar squid con openssl para satisfacer sus requisitos.
En resumen, para evitar que make trate las advertencias como errores al compilar squid con openssl, debe identificar la ubicación de la opción “-Werror=deprecated-declarations” en el makefile y eliminarla o anularla al ejecutar el comando make.