在ubuntu服务器上,gnutls由libcurl3-gnutls包提供,openssl curl支持由libcurl4-openssl-dev包提供. (我不知道为什么后者被命名为4和dev,但我在apt-cache搜索中找不到任何其他openssl curl包).
我默认安装了libcurl3-gnutls,但没有安装libcurl4-openssl-dev.所以我安装了后来重新启动的Torando实例.但这似乎不起作用.我仍然有同样的gnutls错误.
我发现关于curl邮件列表的旧讨论关于支持不同的SSL后端到libcurl的问题,但是没有找到今天它是如何完成的.到目前为止,我的猜测是openssl内置于libcurl中,而gnutls是通过单独的包提供的(这将解释为什么没有libcurl3-openssl).但是我如何使libcurl获取openssl后端而不是gnutls呢? libcurl / pycurl API中有一些选项可以做到这一点吗?
python-pycurl包在libcurl3-gnutls和libgnutls26上有一个direct dependency.
除非在替代存储库中针对OpenSSL而不是GnuTLS编译了基于cURL的Ubuntu包,否则您可能不得不自己构建它们.
原则上可以通过下载源代码(apt-get source python-pycurl和相关的包)来完成.您必须进入Debian打包配置文件并更改选项(通常传递给configure脚本,该脚本在编译之前也配置Makefile)以便更改编译选项,而不是使用OpenSSL.您可能还需要更改包描述以限制对其他包的中断,可能通过使用provide:指令来说明您的包可以替换Ubuntu打包的包.