发信人: springsun (小蒜头), 信区: Perl
标 题: FAQ: Solaris系统下安装Perl模块可能出现的问题和解决方法
发信站: 水木社区 (Sat Sep 29 17:28:13 2007), 转信
前日发了一帖 “Solaris系统下安装Perl模块遇到的问题”,抱怨了一下。 flw (梨花小蓓蕾) 给了建议。
现在都已经安装成功,把在 Solaris 9 系统中可能遇到的常见问题和解决方法道一道。
FAQ1.
=====
若程序提示" Can't locate say Something/Otherthing.pm in @INC",说明需要安装perl模块 Something::Otherthing.
从命令行键入:
# perl -MCPAN -e shell
将会给出 cpan 的命令提示,并运行:
cpan> install Something::Otherthing
FAQ2.
=====
系统中出现:
LWP not available
Please check, if the URLs I found in your configuration file
(http://www.perl.com/CPAN/) are valid. The urllist can be edited. E.g. with
'o conf urllist push ftp://myurl/'
Could not fetch authors/01mailrc.txt.gz
LWP not available
Please check, if the URLs I found in your configuration file
(http://www.perl.com/CPAN/) are valid. The urllist can be edited. E.g. with
'o conf urllist push ftp://myurl/'
说明CPAN没有找到可以下载模块的网络地址。
将文件 /usr/perl5/5.6.1/lib/CPAN/Config.pm 【solaris】
或 /usr/local/lib/perl5/5.6.2/CPAN/Config.pm【FreeBSD】
中的urllist设置为;
'urllist' => [q[ftp://cpan.mirror.ac.za/]],
或者为 ftp://ftp.perl.org/pub/CPAN/ 等能够下载模块的网址。
FAQ3.
=====
在Solaris下,出现无法找到 make、gcc 等命令的错误时:
# make
bash: make: command not found
解决方法有两种:
* 直接使用命令:/usr/ccs/bin/make
* 路径地址中增加相关连接,使用命令:
# PATH=$PATH:/usr/ccs/bin ; export PATH
由于会出现找不到其他命令的情况,为了方便,可直接写为:
# PATH=/usr/sfw/bin:/usr/ccs/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/ucbwq ; export PATH
FAQ4.
=====
Solaris系统手工安装Perl模块时,出现如下错误
/usr/ucb/cc: language optional software package not installed
或者:
cc: unrecognized option `-KPIC'
cc: language ildoff not recognized
这是因为Perl默认情况下认为编译器是cc,其实cc只是个脚本文件。Solaris有两类编译器Sun Studio和gcc。
一般情况下,Solaris有 /usr/local/bin/gcc 。
解决的步骤为:
(1)确保路径中包含 /usr/local/bin 和 /usr/ccs/bin ,但是不包含 /usr/ucb 。参考FAQ3:
(2)运行 perl Makefile.PL
(3)编辑生成的 Makefile:
1)把 CC = cc 改为 CC = gcc
2)把 LD = cc 改为 LD = gcc
3)把 CCCDLFLAGS = -KPIC 改为 CCCDLFLAGS = -fPIC
4)把 OPTIMIZE = -xO3 -xdepend 改为 OPTIMIZE = -O2 或者
把 OPTIMIZE = -xO3 -xspace -xildoff 改为 OPTIMIZE =
5)[选做]把 CCFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=v8 -D_TS_ERRNO
改为:CCFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO
(4)运行 make, make test 和 make install。
FAQ5.
=====
出现:
Can't locate object method "new" via package "MD5" (perhaps you forgot to load "MD5"?)
需要安装Digest::MD5模块
标 题: FAQ: Solaris系统下安装Perl模块可能出现的问题和解决方法
发信站: 水木社区 (Sat Sep 29 17:28:13 2007), 转信
前日发了一帖 “Solaris系统下安装Perl模块遇到的问题”,抱怨了一下。 flw (梨花小蓓蕾) 给了建议。
现在都已经安装成功,把在 Solaris 9 系统中可能遇到的常见问题和解决方法道一道。
FAQ1.
=====
若程序提示" Can't locate say Something/Otherthing.pm in @INC",说明需要安装perl模块 Something::Otherthing.
从命令行键入:
# perl -MCPAN -e shell
将会给出 cpan 的命令提示,并运行:
cpan> install Something::Otherthing
FAQ2.
=====
系统中出现:
LWP not available
Please check, if the URLs I found in your configuration file
(http://www.perl.com/CPAN/) are valid. The urllist can be edited. E.g. with
'o conf urllist push ftp://myurl/'
Could not fetch authors/01mailrc.txt.gz
LWP not available
Please check, if the URLs I found in your configuration file
(http://www.perl.com/CPAN/) are valid. The urllist can be edited. E.g. with
'o conf urllist push ftp://myurl/'
说明CPAN没有找到可以下载模块的网络地址。
将文件 /usr/perl5/5.6.1/lib/CPAN/Config.pm 【solaris】
或 /usr/local/lib/perl5/5.6.2/CPAN/Config.pm【FreeBSD】
中的urllist设置为;
'urllist' => [q[ftp://cpan.mirror.ac.za/]],
或者为 ftp://ftp.perl.org/pub/CPAN/ 等能够下载模块的网址。
FAQ3.
=====
在Solaris下,出现无法找到 make、gcc 等命令的错误时:
# make
bash: make: command not found
解决方法有两种:
* 直接使用命令:/usr/ccs/bin/make
* 路径地址中增加相关连接,使用命令:
# PATH=$PATH:/usr/ccs/bin ; export PATH
由于会出现找不到其他命令的情况,为了方便,可直接写为:
# PATH=/usr/sfw/bin:/usr/ccs/bin:/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/local/bin:/usr/ucbwq ; export PATH
FAQ4.
=====
Solaris系统手工安装Perl模块时,出现如下错误
/usr/ucb/cc: language optional software package not installed
或者:
cc: unrecognized option `-KPIC'
cc: language ildoff not recognized
这是因为Perl默认情况下认为编译器是cc,其实cc只是个脚本文件。Solaris有两类编译器Sun Studio和gcc。
一般情况下,Solaris有 /usr/local/bin/gcc 。
解决的步骤为:
(1)确保路径中包含 /usr/local/bin 和 /usr/ccs/bin ,但是不包含 /usr/ucb 。参考FAQ3:
(2)运行 perl Makefile.PL
(3)编辑生成的 Makefile:
1)把 CC = cc 改为 CC = gcc
2)把 LD = cc 改为 LD = gcc
3)把 CCCDLFLAGS = -KPIC 改为 CCCDLFLAGS = -fPIC
4)把 OPTIMIZE = -xO3 -xdepend 改为 OPTIMIZE = -O2 或者
把 OPTIMIZE = -xO3 -xspace -xildoff 改为 OPTIMIZE =
5)[选做]把 CCFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -xarch=v8 -D_TS_ERRNO
改为:CCFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TS_ERRNO
(4)运行 make, make test 和 make install。
FAQ5.
=====
出现:
Can't locate object method "new" via package "MD5" (perhaps you forgot to load "MD5"?)
需要安装Digest::MD5模块