如何在Ubuntu服务器上将libcurl SSL后端从gnutls更改为openssl

在处理Google OpenID SSL响应时,我在Tornado网络服务器中收到gnutls特定错误.我从Tornado邮件列表中得到的一个建议是尝试OpenSSL后端而不是gnutls.但它在Ubuntu服务器上似乎并不简单(11.10).

在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中有一些选项可以做到这一点吗?

我尝试卸载libcurl3-gnutls,但apt-get提示它也将删除python-pycurl.所以那不行.

-dev包是开发包,它们包含库头,用于开发和编译使用该库的程序.应用程序二进制包(已经编译)通常不需要它们.安装libcurl4-openssl-dev不足以使针对libcurl3-gnutls构建的二进制包使用OpenSSL.它只对您重新编译它的应用程序有用.

python-pycurl包在libcurl3-gnutls和libgnutls26上有一个direct dependency.

除非在替代存储库中针对OpenSSL而不是GnuTLS编译了基于cURL的Ubuntu包,否则您可能不得不自己构建它们.

原则上可以通过下载源代码(apt-get source python-pycurl和相关的包)来完成.您必须进入Debian打包配置文件并更改选项(通常传递给configure脚本,该脚本在编译之前也配置Makefile)以便更改编译选项,而不是使用OpenSSL.您可能还需要更改包描述以限制对其他包的中断,可能通过使用provide:指令来说明您的包可以替换Ubuntu打包的包.

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...