Dear Niko,

I recently did a new upgrade on a copy of the same system, but before
the upgrade I moved everything in /usr/local to a backup location, and
only replaced some scripts in /usr/local/sbin we use to restart our LDAP
server and such.

On 03/24/2015 08:35 PM, Niko Tyni wrote:

> Also, just /usr/local/lib/site_perl doesn't explain your problem
> as strict.pm should be earlier on the search path. Is /etc/perl,
> /usr/local/share/perl, /usr/local/lib, or something like that non-readable
> too? Does /usr/share/perl/5.20/strict.pm exist?
root@chloromethane:/usr/local# stat /usr/share/perl/5.20/strict.pm
  File: ‘/usr/share/perl/5.20/strict.pm’
  Size: 1006            Blocks: 8          IO Block: 4096   regular file
Device: 807h/2055d      Inode: 272273      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-03-29 13:00:59.525885644 +0200
Modify: 2015-03-01 23:35:21.000000000 +0100
Change: 2015-03-29 13:00:32.550411188 +0200
 Birth: -
>> After some chmod o+r and +x on directories listed in
>> perl -V, I'm getting new errors:
>>
>> Setting up spamassassin (3.4.0-6)
>> /usr/bin/perl: error while loading shared libraries: libperl.so.5.20:
>> cannot open shared object file: No such file or directory
> This is worse than it was when you started. It looks like you either
> removed permissions somewhere instead of adding them, or your file system
> is getting corrupted somehow. The file libperl.so.5.20 should be in
> /usr/lib/x86_64-linux-gnu and world readable.
It's there, and a symlink to libperl.so.5.20.2, which is 644.
Additionally, this is a fresh clone, so I'm not getting the .so error
anymore, now it's just the permission denied.
>> I am not exactly sure what permissions should be on what files. Any
>> ideas on how to recover this systems Perl back to a usable state?
> Generally the directories should me root:root, mode 755.  For reference,
> this is how the @INC permissions and symlinks look on my system:
>
>  drwxr-xr-x   5 root root  4096 Oct  5  2013 /etc/perl
>  lrwxrwxrwx   1 root root     6 Feb 27 20:14 
> /usr/lib/x86_64-linux-gnu/perl/5.20 -> 5.20.2
>  drwxr-xr-x 32 root root 4096 Mar  1 20:47 
> /usr/lib/x86_64-linux-gnu/perl/5.20.2
>  drwxr-xr-x  93 root root  4096 Mar 21 21:16 
> /usr/lib/x86_64-linux-gnu/perl5/5.20
>  drwxr-xr-x 189 root root 12288 Feb 28 00:22 /usr/share/perl5
>  lrwxrwxrwx   1 root root     6 Feb 27 20:14 /usr/share/perl/5.20 -> 5.20.2
>  drwxr-xr-x 58 root root 12288 Mar  1 20:47 /usr/share/perl/5.20.2
>
> but if you've changed other permissions as well, it becomes rather
> hard to help. Possibly the best start is to reinstall perl, perl-base,
> perl-modules, and libperl5.20 with dpkg.
>
apt-get --reinstall install perl perl-base perl-modules lib perl5.20
[...]
Preparing to unpack .../perl-modules_5.20.2-2_all.deb ...
Unpacking perl-modules (5.20.2-2) over (5.20.2-2) ...
Preparing to unpack .../perl_5.20.2-2_amd64.deb ...
Unpacking perl (5.20.2-2) over (5.20.2-2) ...
Preparing to unpack .../libperl5.20_5.20.2-2_amd64.deb ...
Unpacking libperl5.20 (5.20.2-2) over (5.20.2-2) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up libperl5.20 (5.20.2-2) ...
Setting up perl-modules (5.20.2-2) ...
Setting up perl (5.20.2-2) ...
[...]
Setting up spamassassin (3.4.0-6) ...
Can't locate strict.pm:   Permission denied at /usr/bin/sa-update line 23.
BEGIN failed--compilation aborted at /usr/bin/sa-update line 23.
dpkg: error processing package spamassassin (--configure):
 subprocess installed post-installation script returned error exit
status 13
dpkg: dependency problems prevent configuration of sa-compile:
 sa-compile depends on spamassassin (>= 3.3.2-8); however:
  Package spamassassin is not configured yet.
 
dpkg: error processing package sa-compile (--configure):
 dependency problems - leaving unconfigured





Additionally, following the advice in
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=781120 I've ran the
following, believing that this should find any files or directories with
incorrect permissions:
for i in $(perl -e "print \"@INC\""); do find $i -type d -not -perm
-o=rx; done
for i in $(perl -e "print \"@INC\""); do find $i -type f -not -perm
-o=x; done

Neither command finds anything, and only complains about
/usr/local/lib/x86_64-linux-gnu/perl/5.20.2
/usr/local/share/perl/5.20.2
/usr/local/lib/site_perl
not existing.


I'm not sure where to go from here? Should I wait until #781120 is
resolved in jessie, or continue trying to figure out what's wrong?

>> As far as I know, the system we're using never had any special Perl
>> stuff happening to it, but it has been upgraded from squeeze (or maybe
>> etch) over the last years. Should I raise a bug with the perl package?
> I'm not yet convinced this is a perl bug rather than a local problem.
Thank you very much for the help with a local configuration issue :)



Thanks again,

Kasper Loopstra.


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to