Установить CPAN модуль ClearCase::CtCmd

Мне нужно установить модуль CPAN ClearCase::CtCmd, Я скачал модуль CtCmd-1.09. После запуска команды perl Makefile.PL У меня следующие ошибки:

perl Makefile.PL
Looking for ClearCase version   7       Found   7.1
Looking for gcc version 2.7     Found   3.4
Looking for SunOS       5.7     Found   5.8
Checking if your kit is complete...
Use of uninitialized value in chdir at /usr/local/lib/perl5/5.8.5/File/Find.pm line 741.
Use of chdir('') or chdir(undef) as chdir() is deprecated at /usr/local/lib/perl5/5.8.5/File/Find.pm line 741.
Looks good
Could not open 'CtCmd.pm': No such file or directory at /usr/local/lib/perl5/5.8.5/ExtUtils/MM_Unix.pm line 3079.

Я упоминаю, что версия perl v5.8.5. В файле INSTALL указано, что ClearCase::CtCmd Модуль требует Perl v5.6.1 или v5.8 или новее."

1 ответ

Решение

На какой машине это? Solaris? Разве ClearCase не поставляется с собственной версией Perl, которая уже включает ClearCase::CtCmd?

Use of uninitialized value in chdir at /usr/local/lib/perl5/5.8.5/File/Find.pm line 741.
Use of chdir('') or chdir(undef) as chdir() is deprecated at /usr/local/lib/perl5/5.8.5/File/Find.pm line 741.
Looks good

File::Find стандартный модуль Perl Неинициализированное значение в chdir выглядит не очень хорошо.

Could not open 'CtCmd.pm': No such file or directory at /usr/local/lib/perl5/5.8.5/ExtUtils/MM_Unix.pm line 3079.

ExecUtils/MakeMaker звонит ExtUtils/MM_Unix.pm и пытается написать свой Makefile. У меня есть ощущение, что это должно найти, где CtCmd.pm расположен от File::Find и с File::Find неудачу, MakeMaker не могу создать Makefile.

Я смотрю на Makefile.PL и вижу, что это требует $ATRIA_ROOT быть установленным или иным образом, это выводится как /opt/rational/clearcase, Может ли это быть как-то связано с этим?

Нет, не похоже на это. В противном случае вы бы не получили отчет о версии ClearCase. И, я думаю, система Solaris, потому что это единственное место, где gcc версия находится в поиске.

Я думаю, что пришло время заняться этим Makefile.PL Программа, чтобы увидеть, что он делает. Я заметил, что в строке № 218 WriteMakefile(%opts); Я хотел бы добавить немного рутины, чтобы распечатать это %opts подпрограмма (возможно, с использованием warn вместо print). Эта подпрограмма взята из ExtUtils::MakeFile, которая на самом деле пишет Makefile. Это может дать вам ключ к пониманию того, что происходит.

К сожалению, проблема, похоже, связана с тем, как ExtUtils::MakeMaker работает. Использование Perl 5.8.5 означает, что у вас есть более старая и извращенная версия ExtUtils::MakeMaker, Вы можете посмотреть примечания к выпуску ExtUtils::MakeMaker и посмотреть, предлагает ли это вам какую-либо подсказку. Perl 5.8.5 больше не поддерживается. Это очень старая версия Perl.

Другие вопросы по тегам