我需要安装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 或更高版本。"
答案 0 :(得分:0)
这是什么类型的机器?的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非常非常老的版本。