make无法使用openssl构建squid(使用了不推荐使用的函数)



我试图用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

最新更新