Bug#886363: libdatetime-locale-perl: After upgrade from Jessie to Stretch, Can't locate DateTime/Locale/en_US.pm in @INC

Reiner Buehl reiner at buehl.net
Thu Jan 4 23:22:59 UTC 2018


Hi,

my script does not use DateTime::Locale directly. I only use DateTime. This is 
the script I use:

#!/usr/bin/perl
use Net::Twitter;
use Scalar::Util 'blessed';
use DateTime;
use Storable qw(retrieve nstore);
use LWP::Simple;

# Variable definitions
my $configfile = "/home/reiner/.FollowTwitterStream";
my $path = "/home/reiner/Twitter";
my $consumer_key = 'xxxxxxxxxx';
my $consumer_secret = 'xxxxxxxxxxxx';
my $token = 'xxxxxxxxxxxxxxxxxxxxxxxx';
my $token_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx';
my $high_water = 429901897936674816;
my $dt;
my $DEBUG = 0;

# Kill script after 59 min to avoid hanging
alarm(3540);

# Read config
if (-r $configfile) {
     $dt = retrieve("$configfile");
}

# Connect to Twitter
my $twitter = Net::Twitter->new(
     traits   => [qw/API::RESTv1_1/],
     consumer_key        => $consumer_key,
     consumer_secret     => $consumer_secret,
     access_token        => $token,
     access_token_secret => $token_secret,
     ssl                 => 1,
);

eval {
     my $statuses = $twitter->home_timeline({ -since => $dt, count => 100 });
     for my $status ( @$statuses ) {
         print "$status->{id} $status->{created_at} 
<$status->{user}{screen_name}> $status->{text}\n" if $DEBUG;
         my $medialist = $status->{entities}->{media};
         foreach my $media ( @$medialist ) {
             my $url = $media->{media_url};
             my $file = (URI->new($url)->path_segments)[-1];
             if ($url =~ /twimg\.com/ ) {
                 $url .= ":large";
             }
             print "Get $url as $path/$status->{user}{screen_name}$file\n" if 
$DEBUG;
             getstore("$url", "$path/$status->{user}{screen_name}$file");
         }
         $high_water = "$status->{id}";
     }
};
if ( my $err = $@ ) {
     die $@ unless blessed $err && $err->isa('Net::Twitter::Error');

     warn "HTTP Response Code: ", $err->code, "\n",
          "HTTP Message......: ", $err->message, "\n",
          "Twitter error.....: ", $err->error, "\n";
}

$dt = DateTime->now;
nstore $dt, "$configfile";


On Thu, 4 Jan 2018, gregor herrmann wrote:

> On Thu, 04 Jan 2018 22:51:21 +0100, Reiner Buehl wrote:
>
>> after upgrading my system from Jessie to Stretch, I get the
>> following error messages from a perl skript that used to work fine
>> before the upgrade:
>>
>> Can't locate DateTime/Locale/en_US.pm in @INC (you may need to install the DateTime::Locale::en_US module) (@INC contains: /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/i386-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/i386-linux-gnu/perl-base) at /usr/lib/i386-linux-gnu/perl/5.24/Storable.pm line 389, <DATA> line 1.
>> BEGIN failed--compilation aborted, <DATA> line 1, at /home/reiner/bin/FollowTwitterStream.pl line 24.
>
> Could you please show us how you use DateTime::Locale in your script?
>
>
> The upstream changelog shows some thing around en_US and en-US but I
> can't reproduce the problem in my quick naïve try:
>
> % perl -MDateTime::Locale -E '$locale = DateTime::Locale->load("en-US"); say $locale->native_name;'
> English United States
> % perl -MDateTime::Locale -E '$locale = DateTime::Locale->load("en_US"); say $locale->native_name;'
> English United States
>
>
> And regarding your error message about a missing
> "DateTime/Locale/en_US.pm":
>
> /usr/share/perl5/DateTime/Locale/en_US.pm has indeed existed some
> versions ago, then the whole thing has been restructured; cf. the
> section "0.90     2015-09-27" in
> /usr/share/doc/libdatetime-locale-perl/changelog.gz.
>
>
> So my suspicion is that you are using what is called the "old API" in
> the upstream changelog and need to update your script.
>
>
> Cheers,
> gregor
>
> -- 
> .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
> : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
> `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
>   `-   NP: Sinéad O'Connor: Jealous
>


Gruß,
Reiner.

----------------------------------------------------------------------
Reiner Buehl                         Internet:
Karlstrasse 3                        reiner at buehl.net
70771 Leinfelden-Echterdingen
Germany
----------------------------------------------------------------------


More information about the pkg-perl-maintainers mailing list