You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Perl 5.40 has a few breaking changes that require Amanda to be updated.
I haven't done an exhaustive search, but here are the two issues I've found so far when running Amanda 3.54 under perl 5.40:
taper dies with a fatal error:
Missing comma after first argument to return at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Taper/Scribe.pm line 1087, near ");"
BEGIN not safe after errors--compilation aborted at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Taper/Scribe.pm line 1690.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Taper/Worker.pm line 53.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Taper/Worker.pm line 53.
Compilation failed in require at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Taper/Controller.pm line 55.
BEGIN failed--compilation aborted at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Taper/Controller.pm line 55.
Compilation failed in require at ./taper line 31.
BEGIN failed--compilation aborted at ./taper line 31.
I believe this patch should fix it. I honestly don't understand how it ever worked before! It should have always been either &$finished_cb() or $finished_cb->(). I think perl must have been silently ignoring the error. Perhaps this was somehow fixed as a side effect of this change to return statements.
Attempt to call undefined import method with arguments (":severity") via package "Amanda::Message" (Perhaps you forgot to load the package?) at /usr/lib64/perl5/vendor_perl/5.40/Amanda/Tapelist.pm line 318.
It looks like Amanda::Message doesn't actually define an import method so passing an argument list to use Amanda::Message can't possibly work. But undefined import methods were silently ignored that in older versions of perl. Starting with 5.40 it now complains about it.
Given that this wasn't actually doing anything I simply commented out the offending line in Amanda::Tapelist but it should probably just be removed entirely.
I wouldn't be surprised if there are other similar problems in parts of the code I haven't looked at yet. (I'm still in the middle of running my first dump after updating perl and I haven't tried restoring from backups yet. And of course I don't use every possible piece of Amanda in my setup.)
The text was updated successfully, but these errors were encountered:
Given that this wasn't actually doing anything I simply commented out the offending line in Amanda::Tapelist but it should probably just be removed entirely.
Looks like Amanda/Tapelist.pm was the only file where qw ( :severity ) was still not removed, so far all other files contain only use Amanda::Message;, so proposed diff would be
Perl 5.40 has a few breaking changes that require Amanda to be updated.
I haven't done an exhaustive search, but here are the two issues I've found so far when running Amanda 3.54 under perl 5.40:
taper
dies with a fatal error:I believe this patch should fix it. I honestly don't understand how it ever worked before! It should have always been either
&$finished_cb()
or$finished_cb->()
. I think perl must have been silently ignoring the error. Perhaps this was somehow fixed as a side effect of this change toreturn
statements.amanda
produces a warning:It looks like
Amanda::Message
doesn't actually define animport
method so passing an argument list touse Amanda::Message
can't possibly work. But undefinedimport
methods were silently ignored that in older versions of perl. Starting with 5.40 it now complains about it.Given that this wasn't actually doing anything I simply commented out the offending line in
Amanda::Tapelist
but it should probably just be removed entirely.I wouldn't be surprised if there are other similar problems in parts of the code I haven't looked at yet. (I'm still in the middle of running my first dump after updating perl and I haven't tried restoring from backups yet. And of course I don't use every possible piece of Amanda in my setup.)
The text was updated successfully, but these errors were encountered: