Я использую Linux на Windows (Ubuntu) для установки программного обеспечения по биоинформатике (MEME Suite — Руководство по установке). Пожалуйста, имейте в виду, что у меня нет большого опыта использования Linux.
Я следую инструкциям и мне нужно установить некоторые модули Perl.
Мне удалось установить все необходимые пакеты, за sudo cpan
исключением Sys::Info
.
При запуске sudo cpan Sys::Info
это первая ошибка, которую я нахожу в журнале:
Запуск установки модуля «Sys::Info».
Контрольная сумма для /root/.cpan/sources/authors/id/B/BU/BURAK/Sys-Info-0.7811.tar.gz в порядке.
«YAML» не установлен, не будет сохранять постоянное состояние.
Настройка B/BU/BURAK/Sys-Info-0.7811.tar.gz с помощью Makefile.PL.
Проверка полноты комплекта...
Выглядит хорошо.
Предупреждение: предварительное условие Sys::Info::Driver::Linux 0.78 не найдено.
Затем при попытке установки Sys::Info::Driver::Linux
я получаю следующую ошибку:
t/03-basic.t ............. UNAME: Linux DESKTOP-IO6J8UE 4.4.0-19041-Microsoft #1237-Microsoft Сб 11 сен 14:32:00 PST 2021 x86_64 x86_64 x86_64 GNU/Linux
t/03-basic.t ............. 1/? Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102. Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102. Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка
102.
Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102.
Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102. Использование
неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102.
Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102.
Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102.
Использование неинициализированного значения $name в строке eq в /root/.cpan/build/Sys-Info-Driver-Linux-0.7905-8/blib/lib/Sys/Info/Driver/Linux/OS.pm строка 102.
Не удаётся открыть файл /proc/swaps для чтения: Такого файла или каталога нет в /usr/local/share/perl/5.30.0/Test/Sys/Info/Driver.pm строка 92.
Похоже, ваш тест завершился с кодом 2 сразу после 65.
Возможно, это как-то связано с моей установкой Linux на Windows, но я совсем запутался. Могу предоставить полный лог, если нужно.
EDIT: Я нашел файл OS.pm и возможную ошибку:
# user methods
sub is_root {
return 0 if defined &Sys::Info::EMULATE;
my $name = login_name();
my $id = POSIX::geteuid();
my $gid = POSIX::getegid();
return 0 if $@;
return 0 if ! defined $id || ! defined $gid;
return $id == 0 && $gid == 0 && $name eq 'root';
}
Любые советы будут высоко ценится!