Amazon SES setup problems - perl

I'm running into an unexpected amount of difficulty trying to use ses-verify-email-address. I am using Ubuntu Hardy on AWS with Perl 5.8.8.
After copying the Perl scripts and creating a key file, I got a "command not found" error. Then I installed the files mentioned in the SES README - Digest::SHA, URI::Escape, Bundle::LWP, MIME::Base64, Crypt::SSLeay and XML::LibXML. It's not obvious that these installed correctly and now when I run ses-verify-email-address.pl, I get the message "LWP will support https URLs if the LWP::Protocol::https module is installed."
I've been using Python and know nothing about Perl.

Install LWP::Protocol::https.
See What's the easiest way to install a missing Perl module? from the SO Perl FAQ, How to install CPAN modules on CPAN, and perlmodinstall in the Perl documentation.

I was getting the same error. It turned out not to be LWP::Protocol::https, but one of its dependencies. Try running perl -MLWP::Protocol::https -e 1 (source) to see if you get any error messages. That just tells perl to include that module and then return the value 1, so there's no harm in running the command. If you get nothing in return that means the module is installed correctly. I suspect you'll get an error message. In my case I was missing Net::SSL, so running perl -MNet::SSL -e 1 also gave an error message.

Related

ListUtil.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xdb80080)

For some reason, whenever I run any Perl module (like cpanm), I've been getting this response:
ListUtil.c: loadable library and perl binaries are mismatched (got
handshake key 0xdb00080, needed 0xdb80080)
I'm not sure why this is happening. There doesn't seem to be any additional stacktrace, and even though there have been numerous bug reports and questions on this error, I was unable to find a solution. I'm running Ubuntu 17.04.
Edit: I'm running the default installation of Perl that ships with Ubuntu.
This may happen when perl or perl modules are installed separately along side the official packages. Environment variable can be used to switch to a different perl installation.
To find out if that is the case run:
env | grep PERL
Having PERL5LIB or PERL_LOCAL_LIB_ROOT in the output might cause the issue. Try unsetting the environment variables and remove them from your ~/.bashrc file or equivalent shell rc file.
Derived from Bert Hekman, answered Jul 5 at 8:22:
env PERL5LIB= PERL_LOCAL_LIB_ROOT= cpan
did the trick for me as a quick and dirty solution.
Ok, turns out that a reboot did the trick. Guess I should have turned it off and on before I posted here.
Using the above answers, I solved this problem. I had a copy of List::Util in my local perl folder.
I set the environment variables, then used cpan to update List::Util.
$ PERL5LIB= PERL_LOCAL_LIB_ROOT= cpanm List::Util
--> Working on List::Util
Fetching http://www.cpan.org/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.59.tar.gz ... OK
Configuring Scalar-List-Utils-1.59 ... OK
Building and testing Scalar-List-Utils-1.59 ... OK
Successfully installed Scalar-List-Utils-1.59 (upgraded from 1.55)
1 distribution installed
I then no longer needed to use PERL5LIB= or PERL_LOCAL_LIB_ROOT=, I could just call my perl scripts as normal.

Unable to load HMAC_SHA1 plugin

Running the Twitter Application in Perl and facing the above mentioned problem. The Perl is 5.8.8 and system is AIX with no root access.
Code
./p_t.pl
Error
Unable to load HMAC_SHA1 plugin at
/vv/mm/tt/perl5/lib/perl5/Net/Twitter/Lite.pm line 192
Hwoever
cpan Digest::HMAC_SHA1
is running fine.
O/P
Digest::HMAC_SHA1 is up to date (1.03).
and SHA1 is not running properly
cpan
force install Digest::SHA1
Running make test Can't test without successful make Running make
install Make had returned bad status, install seems impossible
Failed during this command: GAAS/Digest-SHA1-2.13.tar.gz
: make NO
I realize this is an ancient post, but it's high on google, so this advice may eventually reach someone who can use it.
I was fighting with a similar issue, and it turned out my perl distribution did not include integer.pm (part of the distro) and I fixed said bug.
To check if this, or something similar, causes problems in your case, run this script:
#!/usr/bin/env perl
use Digest::HMAC_SHA1;
And check what it fails on.

How to compile sendxmpp perl script in Cygwin

I have been using telnet to issue test commands to my Jabberd2 server. It is a clunky method, so I downloaded the sendxmpp package included with my build of Cygwin. When I issue the command sendxmpp -h I get the following error(minus the #INC path dump): can't locate Authen/SASL.pm in #INC BEGIN failed--compilation aborted at /usr/bin/sendxmpp line 21.
I think the problem is ldap related, however I have installed all of the perl and ldap modules available.
Does anyone know how to fix this error?
Are there additional configuration steps needed to get ldap working
with perl in the Cygwin environment?
Is there a better way to issue xmpp commands to Jabberd from the
command line?
Looks like you're missing the Authen::SASL module. If it's not part of the sendxmpp package, try installing it with cpan -i Authen::SASL. If it IS available, make sure sendxmpp (which may very well be a perl script) finds it, by modifying the inc/lib directory. If Authen::SASL is supposed to be installed and available systemwide, try executing perl -MAuthen::SASL. If that triggers an error, perl can't find it. If it just "hangs" there (waiting for input), perl did find the module, and sendxmpp should work.

problems while installing perl modules !

i have attempted to install DBI perl modules using cpan on RHEL with sudo. While installing am getting below error:
ERROR: Can't create '/usr/bin'
Do not have write permissions on '/usr/bin'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Thanks,
Mandy.
(email address removed)
As others have suggested, use Yum/install the RPM for DBI yourself.
You should also read this report about a severe performance bug in RedHat's Perl package. It might have been fixed in the last releases of RHEL 5, but it's a show-stopper if it applies to you. That link contains a benchmark script which should tell you if it applies to you or not.
If it does, consider installing ActiveState's version of Perl.

How to switch between versions of Perl 5.8 and 5.10 on Mac OS X 10.6 Server and using Apache2

The new Mac Mini Server comes with OS X 10.6 and natively supports (comes with) two versions of Perl and Apple has included these by default for good reason.
These can be found under the following directories:
/Library/Perl/5.8.9
and
/Library/Perl/5.10.0
I also found under /Library/Perl/Updates/5.8.9 and /Library/Perl/Updates/5.10.0.
I found that I can successfully switch between perl 5.8.9 and and 5.10.0 at the console level by using Apples suggested "defaults write" command using the terminal.
For example since OS X Server 10.6 comes delivered with the default set to 5.10.0 I have successfully used the following two commands to switch to perl 5.8.9 using 32 bit and everything works as expected at the console level.
sudo defaults write /Library/Preferences/com.apple.versioner.perl Version 5.8.9
sudo defaults write com.apple.versioner.perl Prefer-32-Bit -bool yes
I was successful at installing the following desired Perl modules using the CPAN shell like so for the default version of perl 5.10.0:
sudo perl -eshell -MCPAN
install DBI
install CGI
install HTML::Template
install DBD::Pg
I used DBD:Pg to connect to the PostgreSQL database and that seems to work fine too.
However, when I attempt to switch to Perl 5.8.9 from 5.10.0 I get the following Error in Apache when attempting to use the same Perl Code.
Server error!
The server encountered an internal error and was unable to complete your request.
Error message:
Premature end of script headers: login.pl
If you think this is a server error, please contact the webmaster.
Error 500
192.168.2.100
Mon Aug 9 12:10:09 2010
APACHE/2.2.14(UNIX)mod_ssl/2.2.14 OpenSSL/0.9.81
I then decided that it might be a good idea go through the "sudo perl -eshell -MCPAN" stuff again after I switched to perl 5.8.9 by using the "default write" command however that didn't seem to help.
Does anyone have any ideas why I am getting these results?
Do you have any suggestions on a better approach without using precompiled binaries as I don't have any problem compiling from source code.
Thanks in advance.
DougPan
Tried App::perlbrew and local::lib? The first is designed for managing multiple installations of perl (though don't know if it can do existing ones) the second is for having ... more special cases of libraries installed. It would make it very easy to have 1 set of cpan libraries for each perl version and each app if you needed.