Perl 如何在Ubuntu12.04中使用Bugzilla使网络SMTP SSL工作?

Perl 如何在Ubuntu12.04中使用Bugzilla使网络SMTP SSL工作?,perl,ubuntu,ssl,bugzilla,Perl,Ubuntu,Ssl,Bugzilla,我已经安装了NetSMTP SSL(/usr/bin/perl install-module.pl Net::SMTP::SSL),因为我想用Gmail配置Bugzilla电子邮件。我没有任何错误。但是,当我运行“./checksetup.pl--check modules”时,仍然会得到以下结果: Checking for Net-SMTP-SSL (v1.01) not found 我还尝试重新安装它,但仍然得到相同的输出。这是我的系统信息: Ubuntu 12.

我已经安装了NetSMTP SSL(/usr/bin/perl install-module.pl Net::SMTP::SSL),因为我想用Gmail配置Bugzilla电子邮件。我没有任何错误。但是,当我运行“./checksetup.pl--check modules”时,仍然会得到以下结果:

Checking for         Net-SMTP-SSL (v1.01)     not found
我还尝试重新安装它,但仍然得到相同的输出。这是我的系统信息:

  • Ubuntu 12.04
  • Bugzilla 4.4.6

最近,在Bugzilla遇到同样的问题后,我遇到了这个被拒绝的错误报告:

它提到Bugzilla没有安装某些依赖项,但没有说明是哪些依赖项。所以我只是运行了cpan,并从cpan控制台发出了升级命令来升级所有包。尽管如此,它还是安装了一些来自各种软件包的依赖项。我没有看到哪些与SMTP SSL包相关,因为它在依赖关系中安装了几个级别的东西,但在运行该程序,然后在Bugzilla中运行checksetup.pl之后,问题似乎得到了解决。警告:不过,升级所有软件包确实需要一段时间

这解决了Bugzilla无法正确检测的问题,但不幸的是,Net::SMTP::SSL中似乎有一个bug与其自身的一个依赖项相冲突。如果您试图直接运行包,您将得到一个类似“nota GLOB reference”的错误。您可以在更新所有包后运行以下命令来查看:

perl -MNet::SMTP::SSL -wE 'say $Net::SMTP::SSL::VERSION'
如果您返回了一个版本号,那么它就工作了,但是我得到了一个错误,并且也看到了其他关于它的帖子。我还没有能够解决这个问题,但是可能有一些SSL包和它的依赖项的不同版本的组合在实际工作,只是不是每个版本的最新版本。否则,我认为Bugzilla发行说明中会有一个已知的问题,因为它们在测试期间会遇到这个问题

我没有时间做这件事,也没有看到任何其他人(包括包维护者)也这样做,但我想您可以找到Net::SMTP:SSL的所有依赖项,然后使用如下方式逐个更新包:

cpan upgrade Net::SMTP::SSL
然后将Net::SMTP::SSL替换为它的每个依赖项,一次替换一个,并使用上面的perl命令进行测试。当它断开时,您将知道哪个包是冲突的。然后,您可以将该包回滚到早期版本,并更新所有其他依赖项,希望它能够解决这个问题。当然,没有组合是绝对可能的,如果是这样的话,我会对Bugzilla的测试过程有点失望

您可以使用各种方法查找依赖项,但CPAN有一种方法。下面是一篇关于如何创建perl脚本以使用它的文章的链接:

无论如何,这可能解决不了你的问题,但我希望它有助于追踪这个问题,并且知道你并不孤单。如果你发现了什么,请把它贴在这里。如果我以后有更多的时间来做,我也会这样做