我打算在虚拟机上运行的 ubuntu 14.04 上安装 qt 5.5.1。我已经从 qt-io 下载了安装程序,当我尝试安装安装程序时,我注意到终端上出现以下警告,然后安装程序弹出。
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method
Run Code Online (Sandbox Code Playgroud)
我需要担心这个警告吗?当我在同一台机器上安装 qt 5.3.1 时,我没有看到任何此类错误。
有没有办法解决这个警告?任何帮助表示赞赏。谢谢。
这是我机器上当前版本的 openSSL。
openssl version -v
OpenSSL 1.0.1f 6 Jan 2014
Run Code Online (Sandbox Code Playgroud)
Tun*_*ran 11
现在 Ubuntu 中的 OpenSSL 编译时没有使用 sslv2,因为它不安全,但 Qt 5.5.x 仍然需要它。为了启用 sslv2,需要在没有 no-sslv2 标志的情况下重新配置包。
安装必备软件包
sudo apt-get update
sudo apt-get install libssl-dev devscripts dpkg-dev cdbs debhelper dh-autoreconf libev-dev libpcre3-dev pkg-config
Run Code Online (Sandbox Code Playgroud)
然后,获取源
cd ~/Downloads
sudo apt-get update
apt-get source openssl
Run Code Online (Sandbox Code Playgroud)
现在我们需要编辑 openssl-1.0.1f/debian/rules 中的文件。找到第 44 行(可能不同版本的行号会有所不同)并删除no-ssl2
,使其如下所示:
cd openssl-1.0.1f
nano debian/rules
CONFARGS = --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/$(DEB_HOST_MULTIARCH) no-idea no-mdc2 no-rc5 no-zlib enable-tlsext no-ssl3 enable-unit-test $(ARCH_CONFARGS)
Run Code Online (Sandbox Code Playgroud)
接下来,我们将添加评论并提交更改。然后重新构建包,这将需要一些时间,所以跳到 nmap 部分并下载源代码。您可能会收到一些错误,提示无法验证版权,请忽略它。此外,编译可能需要一段时间,所以请耐心等待。
dch –n 'Allow SSLv2'
dpkg-source --commit
debuild -uc -us
Run Code Online (Sandbox Code Playgroud)
现在回到~/Downloads
您将看到所有构建的 deb 包。安装它们:
cd ..
sudo dpkg -i *ssl*.deb
Run Code Online (Sandbox Code Playgroud)
现在重做 Qt 5.5.1 安装以查看警告是否仍然存在。
归档时间: |
|
查看次数: |
17691 次 |
最近记录: |