Вопрос

All the Perl dependencies for it are met but I'm getting this error:

Can't locate object method "ssl_opts" via package "LWP::UserAgent" at SES.pm line 250.

Это было полезно?

Решение

I just wanted to document what I had to do to get this running on my Debian system. The solution for Ubuntu is probably the same.

First, to let Perl find SES.pm make the directory /usr/local/lib/site_perl and copy SES.pm there. I prefer this solution over what the README recommends.

Your system probably has a lot of the dependencies met already so instead of installing duplicate packages just check first which ones it needs. To do that run these commands. If it gives an error it's not met:

perl -e 'use Crypt::SSLeay'
perl -e 'use Digest::SHA'
perl -e 'use Bundle::LWP'
perl -e 'use LWP::Protocol::https'
perl -e 'use MIME::Base64'
perl -e 'use Crypt::SSLeay'
perl -e 'use XML::LibXML'

I had to remove the package libcrypt-ssleay-perl because it's not compatible with this Amazon script. With it the script produces the error in the question.

I installed these packages from Debian:

libxml-libxml-perl
libssl-dev (needed to compile dependencies)

To find out which package contains the Perl module you need use this page on the Debian site to search the contents of packages: http://www.debian.org/distrib/packages

Replace the :: in the package with / and put .pm at the end. For example if you need XML::LibXML search for XML/LibXML.pm

I installed these packages from CPAN. It takes a little while though. There are a lot of dependencies.

perl -MCPAN -e 'install LWP::Protocol::https'
perl -MCPAN -e 'install Crypt::SSLeay'

Другие советы

Comment out line 250 in SES.pm, as follows:

# $browser->ssl_opts(verify_hostname => 1);

Then it will run. Probably less secure. But it runs.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top