With some help from Perl Monks found the and fixed the issue:
Quoted from the Perl Monks ticket...
Line 24 of Google/AdWords/Deserializer.pm reads
use SOAP::Lite;
use base qw(SOAP::Deserializer);
The code for the package SOAP::Deserializer is contained in the file
SOAP/Lite.pm. In other words, there is normally no SOAP/
Deserializer.pm file — at least not in the current SOAP::Lite
release. OTOH, base checks if there exists a package variable
$SOAP::Deserializer::VERSION (which doesn't in this case), and if not
tries to load SOAP/Deserializer.pm. This is all fine as long as there
is in fact no such file, as the error "Can't locate SOAP/
Deserializer.pm at..." would silently be ignored by base.
Now, the thing is that you do seem to have such a file (as the error
message indicates), and apparently one which doesn't return a true
value when requireed, which is an error condition that base does not
ignore... Further support for this theory is that if I put an empty
Deserializer.pm file in my SOAP-Lite installation, I can reproduce the
issue:
$ perl -MSOAP::Lite -e'use base qw(SOAP::Deserializer);' SOAP/
Deserializer.pm did not return a true value at (eval 80) line
3. ...propagated at /usr/lib/perl5/5.10.1/base.pm line 93. BEGIN
failed--compilation aborted at -e line 1.
[download]
Anyhow, the short version of all this is that replacing the above line
(in Google/AdWords/Deserializer.pm)
use base qw(SOAP::Deserializer);
with
BEGIN { our @ISA = "SOAP::Deserializer"; }
should also fix the issue...
End Quote
I have edited the module and I no longer am getting a compilation
error.
On Jun 1, 9:07 am, JohnW2G <[email protected]> wrote:
> I see there was some traction with perl issues in general on:
>
> http://groups.google.com/group/adwords-api/browse_thread/thread/d7384...
>
> Though it looks like the thread went cold back in March, nor can I
> make a reply on that thread to see what updates, if any, have been
> made.
>
> On Jun 1, 8:44 am, JohnW2G <[email protected]> wrote:
>
> > I am attempting to setup the v2009 Adwords API for perl and I am
> > running into a compilation error.
>
> > I have downloaded and installed the latest library package:
> > awapi_perl_lib_1.3.2.tar.gz
>
> > I have downloaded and installed the latest version of the SOAP WSDL
> > module (no on version 861 the last time I checked
> > BTW):http://soap-wsdl.svn.sourceforge.net/viewvc/soap-wsdl/SOAP-WSDL/branc...
>
> > Ran the patch.
>
> > I created a adwords.properties file in my home directory and edited it
> > with my account data (I did not turn on the Sandbox setting).
>
> > Made a copy of display_stats.pl, when I tried to run the script I got
> > the following errors:
> > SOAP/Deserializer.pm did not return a true value at (eval 93) line 3.
> > ...propagated at /usr/lib/perl5/5.8.8/base.pm line 85.
> > BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/
> > Google/AdWords/Deserializer.pm line 24.
> > Compilation failed in require at /usr/lib/perl5/site_perl/5.8.8/
> > Google/
> > AdWords/Client.pm line 26.
> > BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.8/
> > Google/AdWords/Client.pm line 26.
> > Compilation failed in require at display_stats.pl line 24.
> > BEGIN failed--compilation aborted at display_stats.pl line 24.
>
> > Any help?
>
>
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en