Forum Webscript.Ru

Программирование => Perl => Тема начата: Skif от 23 Марта 2006, 16:14:41

Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: Skif от 23 Марта 2006, 16:14:41
Трямки всем.
Собственно сабж. _Необходим для скриптов по состоянию FS модуль. Нашел что подойдет для перла Sys::Filesystem на search.cpan.org. но воспользоваться не получается
Цитировать
perl Makefile.PL
make

проходит без проблем, при выполнении make test :
Цитировать
[root@k.com.ua] /usr/local/script/FS/Sys-Filesystem-1.18/:make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, \'blib/lib\', \'blib/arch\')" t/*.t
t/01test....Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 44, line 17.
.......................................................................
Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 49, line 17.
Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 49, line 17.
Unable to open mtab file (/etc/mtab)
_at (eval 9) line 1
_at lib/Sys/Filesystem.pm line 77
_ _ _ _ Sys::Filesystem::new(\'Sys::Filesystem\') called at lib/Sys/Filesystem.pm line 120
_ _ _ _ Sys::Filesystem::filesystems(\'device\', \'/dev/ad0s1a\') called at t/01test.t line 30
# Looks like you failed 1 tests of 62.
t/01test....dubious
_ _ _ _ Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 2
_ _ _ _ Failed 1/62 tests, 98.39% okay
Failed Test Stat Wstat Total Fail _Failed _List of Failed
-------------------------------------------------------------------------------
t/01test.t _ _ 1 _ 256 _ _62 _ _1 _ 1.61% _2
Failed 1/1 test scripts, 0.00% okay. 1/62 subtests failed, 98.39% okay.
*** Error code 2

Stop in /usr/local/script/FS/Sys-Filesystem-1.18.
Валиться короче. Ок. Ставлю linux_base, делаю mtab из fstab, повторяю make test, предварительно убедившись, что linux.ko загружен:
Цитировать
[root@k.com.ua] /usr/local/script/FS/Sys-Filesystem-1.18/:kldstat -v | grep
linux
_4 _ _1 0xc2845000 17000 _ _linux.ko
_ _ _ _ _ _ _ _ 165 linuxelf
_ _ _ _ _ _ _ _ 166 linuxaout

Цитировать
[root@k.com.ua] /usr/local/script/FS/Sys-Filesystem-1.18/:make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
"test_harness(0, \'blib/lib\', \'blib/arch\')" t/*.t
t/01test....Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 44, line 17.
Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 45, line 17.
.......................................................................
Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 49, line 17.
Use of uninitialized value in hash element at ../lib/Sys/Filesystem/Freebsd.pm line 49, line 17.
Unable to open mtab file (/etc/mtab)
_at (eval 9) line 1
_at lib/Sys/Filesystem.pm line 77
_ _ _ _ Sys::Filesystem::new(\'Sys::Filesystem\') called at lib/Sys/Filesystem.pm line 120
_ _ _ _ Sys::Filesystem::filesystems(\'device\', \'/dev/ad0s1a\') called at t/01test.t line 30
# Looks like you failed 1 tests of 62.
t/01test....dubious
_ _ _ _ Test returned status 1 (wstat 256, 0x100)
DIED. FAILED test 2
_ _ _ _ Failed 1/62 tests, 98.39% okay
Failed Test Stat Wstat Total Fail _Failed _List of Failed
-------------------------------------------------------------------------------
t/01test.t _ _ 1 _ 256 _ _62 _ _1 _ 1.61% _2
Failed 1/1 test scripts, 0.00% okay. 1/62 subtests failed, 98.39% okay.
*** Error code 2

Stop in /usr/local/script/FS/Sys-Filesystem-1.18.
Если просто сделать make install то модуль ставиться, только мне с этого не холодно и не жарко - он не работает - вываливается с ошибками :( Кто ставил этот модуль, или может посоветовать альтернативный для perl? Оч надо.
варианты типа
Цитировать
system "df";
system "du";
или
Цитировать
$p=`df`;
$p=`du`;
не предлагать - не подходят по идиологическим мотивам.
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: arto от 23 Марта 2006, 17:13:20
неправильно обрабатывает пустые строки в файлах.
либо пропатчте Sys/Filesystem/Freebsd.pm, либо поудаляйте пустые строки в /etc/fstab и других подобных файлах.
или отпишите автору, с приложением файлов.
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: cr4ck3r от 23 Марта 2006, 17:50:02
<---->
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: Skif от 23 Марта 2006, 18:11:07
Спасибо, разобрался. Нельзя использовать в файле коментарии и пустые строки.
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: arto от 23 Марта 2006, 19:30:26
комментарии можно
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: Skif от 24 Марта 2006, 00:41:55
Увы, увы... У меня модуль прошел тесты, проинсталился и нормально вернул результаты, только тогда, когда из mtab убрал символы коментариев.
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: arto от 24 Марта 2006, 09:13:24
странно,

        if ($mtab->open($args{mtab})) {
                while (<$mtab>) {
                        next if /^\\s*\\#/;
                        ...
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: Skif от 24 Марта 2006, 14:25:01
Да, нет у самого модуля внутри нет этой проверки. Расковыривать весь модуль было лень, что бы исправить, пришлось его просто почистить. после этого make test прошел на ура.
Название: FS + perl + Sys-Filesystem - работает под фрей?
Отправлено: arto от 24 Марта 2006, 14:42:36
я прямо из модуля взял этот код.