|
From: G.W. H. <ba...@ju...> - 2024-12-11 13:57:44
|
Hi there,
On Wed, 11 Dec 2024, Alan wrote:
> On Tue, 10 Dec 2024, G.W. Haywood wrote:
> > On Tue, 10 Dec 2024, Alan wrote:
)> >
>
> >> Since upgrading from Fedora 40 to 41 I?ve started seeing the following Perl error message when the BackupPC_nightly and BackupPC_rrdUpdate routines are run:
> >>
> >> Attempt to call undefined import method with arguments (":BPC_DT_ALL") via package "BackupPC::Lib" (Perhaps you forgot to load the package?) at /usr/share/BackupPC/bin/BackupPC_nightly line 89.
> >>
> >> Attempt to call undefined import method with arguments (":BPC_DT_ALL") via package "BackupPC::Lib" (Perhaps you forgot to load the package?) at /usr/share/BackupPC/bin/BackupPC_rrdUpdate line 42.
> >>
> >>
> >> In both cases the statement causing the error in the nightly and rrdUpdate scripts is:
> >>
> >> use BackupPC::Lib qw( :BPC_DT_ALL );
> >>
> >> I think this may be related to the move to Perl version 5.40.0 under Fedora 41. Fedora 40 used Perl version 5.38.2 and no error occurs.
> >
> > You're probably right. ...
>
> Only DirOps.pm has a reference to ?BPC_DT_ALL?, there is no
> reference to 'BPC_DT_ALL' in the module Lib.pm , could this be why
> Perl is failing when it encounters the "use BackupPC::Lib qw(
> :BPC_DT_ALL );" statement.
>
> I have also found a change that was introduced in Perl 5.39.1 - see
> https://perldoc.perl.org/5.39.1/perldelta#Calling-the-import-method-of-an-unknown-package-produces-an-error
> Apparently calling an import method of an unknown package succeeded
> silently with Perl 5.38 but at 5.39 produces an error. So perhaps
> this has always happened but is now being reported as part of the
> upgrade from Perl 5.38 to Perl 5.40.
Good catch!
Doesn't look too controversial to try removing the "qw(...)" from
BackupPC_nightly line 89 and BackupPC_rrdUpdate line 42. :)
For BackupPC the Perl version here is still 5.32 so it may be some
time before I get to test this...
--
73,
Ged.
|