我试图用openssl构建squid,但由于使threats warnings as errors
失败
示例:gadgets.h -> error 'void RSA_free(RSA*)' is deprecated; Since **Openssl 3.0.0** -Werror=deprecated-declarations ..
我假设-Werror=deprecated-declarations
指示make将这些警告作为错误进行威胁。但是-Werror=deprecated-declarations
在哪个文件中?我该如何抑制/避免它?
我需要带openssl的鱿鱼。
france1答案正确。但也许";"循序渐进";命令会对某人有所帮助。我使用Openssl 3.0.2在Ubuntu 22.04上成功构建了Squid 5.5。
下载openssl 1.1.1j:
cd /tmp/
wget https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1j.zip
从源提取openssl并将其安装到/usr/local/openssl_1_1j
unzip openssl-OpenSSL_1_1_1j.zip
cd ./openssl-OpenSSL_1_1_1j/
./config --prefix=/usr/local/openssl_1_1_1j --openssldir=/usr/local/openssl_1_1_1j/ssl
make
sudo make install
导出vars
export PATH="/usr/local/openssl_1_1_1j/bin:$PATH" LD_LIBRARY_PATH="/usr/local/openssl_1_1_1j/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH=/usr/local/openssl_1_1_1j/lib/pkgconfig
下载squid并使用自定义openssl:进行编译
wget http://www.squid-cache.org/Versions/v5/squid-5.5.tar.gz
tar -xzvf ./squid-5.5.tar.gz
cd squid-5.5/
./configure --enable-ssl-crtd --with-openssl=/usr/local/openssl_1_1_1j/lib
make
sudo make install
工作!
我可以通过openssl 3编译最新版本。它应该是固定的
检查https://github.com/squid-cache/squid/commit/3db8afad158dcdaa9390d8b998239e5763ae2cf4
#squid-v
Squid缓存:版本5.7-VCS
服务名称:Squid
此二进制文件使用OpenSSL 3.0.2,2022年3月15日。
哈哈
自从Openssl 3.0.0以来,这些东西就被弃用了。我刚刚使用了Openssl 1.1.1 LTS,它成功了!
但后来我注意到在ubuntu 20.10存储库中有一个squid openssl。。所以我安装了它。
Openssl 1.1.1l:https://www.openssl.org/source/openssl-1.1.1l.tar.gz