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