perl 5.22.2 відновлення роботи після обнови Slackware64 14.1 to 14.2

Після обнови Slackware64 14.1 до 14.2 в мене відмовився працювати коректно perl. Гугління не допомогіло відновити роботу. Знайшов відповідну тему тут. Допомогла така команда для ідентифікації і вирішення проблеми

strace aclocal 2>&1 | tail -n 10

Виконавши її я отримував такі логи

root@rm-proxy:/# strace perl -MCPAN -e shell  2>&1 | tail -n 100
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
stat("/usr/local/lib64/perl5/CPAN/CacheMgr.pmc", 0x7ffe5fedc630) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib64/perl5/CPAN/CacheMgr.pm", 0x7ffe5fedc560) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/perl5/CPAN/CacheMgr.pmc", 0x7ffe5fedc630) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/perl5/CPAN/CacheMgr.pm", 0x7ffe5fedc560) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/vendor_perl/CPAN/CacheMgr.pmc", 0x7ffe5fedc630) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/vendor_perl/CPAN/CacheMgr.pm", 0x7ffe5fedc560) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/vendor_perl/CPAN/CacheMgr.pmc", 0x7ffe5fedc630) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/vendor_perl/CPAN/CacheMgr.pm", 0x7ffe5fedc560) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/CPAN/CacheMgr.pmc", 0x7ffe5fedc630) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/CPAN/CacheMgr.pm", 0x7ffe5fedc560) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/CPAN/CacheMgr.pmc", 0x7ffe5fedc630) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/CPAN/CacheMgr.pm", {st_mode=S_IFREG|0444, st_size=7664, ...}) = 0
open("/usr/share/perl5/CPAN/CacheMgr.pm", O_RDONLY) = 5
ioctl(5, TCGETS, 0x7ffe5fedc300)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(5, 0, SEEK_CUR)                   = 0
read(5, "# -*- Mode: cperl; coding: utf-8"..., 8192) = 7664
stat("/usr/local/lib64/perl5/File/Find.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib64/perl5/File/Find.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/perl5/File/Find.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/perl5/File/Find.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/vendor_perl/File/Find.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/vendor_perl/File/Find.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/vendor_perl/File/Find.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/vendor_perl/File/Find.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/File/Find.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/File/Find.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/File/Find.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/File/Find.pm", {st_mode=S_IFREG|0444, st_size=33929, ...}) = 0
open("/usr/share/perl5/File/Find.pm", O_RDONLY) = 6
ioctl(6, TCGETS, 0x7ffe5fedbca0)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR)                   = 0
read(6, "package File::Find;\nuse 5.006;\nu"..., 8192) = 8192
brk(0x1833000)                          = 0x1833000
brk(0x1832000)                          = 0x1832000
brk(0x1853000)                          = 0x1853000
read(6, " (is_tainted($p_dir) )) {\n\t    ("..., 8192) = 8192
brk(0x1877000)                          = 0x1877000
read(6, " {\n\t\twarnings::warnif \"Can't cd "..., 8192) = 8192
brk(0x1899000)                          = 0x1899000
lseek(6, 22207, SEEK_SET)               = 22207
lseek(6, 0, SEEK_CUR)                   = 22207
close(6)                                = 0
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
stat("/usr/local/lib64/perl5/Config.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib64/perl5/Config.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/perl5/Config.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/perl5/Config.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/vendor_perl/Config.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/vendor_perl/Config.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/vendor_perl/Config.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/share/perl5/vendor_perl/Config.pm", 0x7ffe5fedbf00) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/Config.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/perl5/Config.pm", {st_mode=S_IFREG|0444, st_size=3233, ...}) = 0
open("/usr/lib64/perl5/Config.pm", O_RDONLY) = 6
ioctl(6, TCGETS, 0x7ffe5fedbca0)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR)                   = 0
read(6, "# This file was created by confi"..., 8192) = 3233
read(6, "", 8192)                       = 0
close(6)                                = 0
stat("/usr/local/lib64/perl5/Scalar/Util.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib64/perl5/Scalar/Util.pm", {st_mode=S_IFREG|0444, st_size=9538, ...}) = 0
open("/usr/local/lib64/perl5/Scalar/Util.pm", O_RDONLY) = 6
ioctl(6, TCGETS, 0x7ffe5fedbca0)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR)                   = 0
read(6, "# Copyright (c) 1997-2007 Graham"..., 8192) = 8192
lseek(6, 1142, SEEK_SET)                = 1142
lseek(6, 0, SEEK_CUR)                   = 1142
close(6)                                = 0
stat("/usr/local/lib64/perl5/List/Util.pmc", 0x7ffe5fedbfd0) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib64/perl5/List/Util.pm", {st_mode=S_IFREG|0444, st_size=13898, ...}) = 0
open("/usr/local/lib64/perl5/List/Util.pm", O_RDONLY) = 6
ioctl(6, TCGETS, 0x7ffe5fedbca0)        = -1 ENOTTY (Inappropriate ioctl for device)
lseek(6, 0, SEEK_CUR)                   = 0
read(6, "# Copyright (c) 1997-2009 Graham"..., 8192) = 8192
brk(0x18bb000)                          = 0x18bb000
lseek(6, 1066, SEEK_SET)                = 1066
lseek(6, 0, SEEK_CUR)                   = 1066
close(6)                                = 0
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
stat("/usr/local/lib64/perl5/auto/List/Util/Util.bs", 0x1491298) = -1 ENOENT (No such file or directory)
stat("/usr/local/lib64/perl5/auto/List/Util/Util.so", {st_mode=S_IFREG|0555, st_size=47562, ...}) = 0
open("/usr/local/lib64/perl5/auto/List/Util/Util.so", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\35\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0555, st_size=47562, ...}) = 0
mmap(NULL, 2135560, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7fcdd93c0000
mprotect(0x7fcdd93ca000, 2093056, PROT_NONE) = 0
mmap(0x7fcdd95c9000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x9000) = 0x7fcdd95c9000
close(6)                                = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x5} ---
+++ killed by SIGSEGV +++







І ось тут я помітив, що виконання деяких скриптів перла обвалюється на файлі "/usr/local/lib64/perl5/auto/List/Util/Util.so". Хоча перл не повинен був інсталюватися в директорію /usr/local/lib64/perl5. Видаливши всі файли з /usr/local/lib64/perl5 та /usr/local/share/perl5 які залишилися із версії 14.1 Слакваре я виправив проблему некоректної роботи Перл.

Comments

Popular posts from this blog

Відновлення роботи роботи роутера Linksys WRT54G3G-ST після невдалого обновлення прошивки.

Docker certbor autoreNEW cert cron job

VirtualBOX і завантаження в віртуальній машині із завантажувальної флешки