用perl -e shell -MCPAN 时出现的一个错误!

用perl -e shell -MCPAN 时出现的一个错误!



[Copy to clipboard] [ - ]
CODE:
CPAN.pm: Going to build M/ML/MLEHMANN/IO-AIO-3.05.tar.gz

checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for library containing pthread_create... none required
checking for futimes... yes
checking for readahead... yes
checking for fdatasync... yes
checking for pread and pwrite... no
checking for sendfile... yes
configure: creating ./config.status
config.status: creating libeio/config.h
Checking if your kit is complete...
Looks good
Writing Makefile for IO::AIO
make: Warning: File `Makefile.PL' has modification time 1.9e+06 s in the future
Makefile out-of-date with respect to Makefile.PL
Cleaning current config before rebuilding Makefile...
/usr/bin/make -f Makefile.old clean > /dev/null 2>&1
/usr/local/bin/perl Makefile.PL
checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for library containing pthread_create... none required
checking for futimes... yes
checking for readahead... yes
checking for fdatasync... yes
checking for pread and pwrite... no
checking for sendfile... yes
configure: creating ./config.status
config.status: creating libeio/config.h
Checking if your kit is complete...
Looks good
Writing Makefile for IO::AIO
==> Your Makefile has been rebuilt. <==
==> Please rerun the /usr/bin/make command.  <==
false
make: *** [Makefile] 错误 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

这个问题在GOOGLE 上全是英文的 貌似有解决办法.试着做一下还是不行啊.大家帮帮忙.谢谢!

[root@localhost build]#/usr/bin/perl -v

This is perl, v5.8.8 built for i686-linux

Copyright 1987-2006, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
看起来是make的问题..他要你重run make....可能你少了什麽module...请去看看那个module的 README/INSTALL...

Writing Makefile for IO::AIO
==> Your Makefile has been rebuilt. <==
==> Please rerun the /usr/bin/make command.  <==
false
make: *** [Makefile] 错误 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible
谢谢!
上面那个问题是我的虚拟机的时间不对造成的.但是下面又出问题了.还在请帮我看一下.

[Copy to clipboard] [ - ]
CODE:
cpan> install IO::AIO
Running install for module IO::AIO
Running make for M/ML/MLEHMANN/IO-AIO-3.05.tar.gz
LWP not available
Fetching with Net::FTP:
  [url]ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/authors/id/M/ML/MLEHMANN/IO-AIO-3.05.tar.gz[/url]
LWP not available
Fetching with Net::FTP:
  [url]ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/authors/id/M/ML/MLEHMANN/CHECKSUMS[/url]
Checksum for /root/.cpan/sources/authors/id/M/ML/MLEHMANN/IO-AIO-3.05.tar.gz ok
IO-AIO-3.05/
IO-AIO-3.05/t/
IO-AIO-3.05/t/06_group.t
IO-AIO-3.05/t/07_feeder.t
IO-AIO-3.05/t/02_read.t
IO-AIO-3.05/t/04_fork.t
IO-AIO-3.05/t/05_readdir.t
IO-AIO-3.05/t/03_errors.t
IO-AIO-3.05/t/01_stat.t
IO-AIO-3.05/t/aio_test_common.pm
IO-AIO-3.05/t/00_load.t
IO-AIO-3.05/README
IO-AIO-3.05/configure
IO-AIO-3.05/Changes
IO-AIO-3.05/configure.ac
IO-AIO-3.05/autogen.sh
IO-AIO-3.05/Makefile.PL
IO-AIO-3.05/libeio/
IO-AIO-3.05/libeio/eio.c
IO-AIO-3.05/libeio/eio.h
IO-AIO-3.05/libeio/config.h.in
IO-AIO-3.05/libeio/xthread.h
IO-AIO-3.05/libeio/libeio.m4
IO-AIO-3.05/META.yml
IO-AIO-3.05/typemap
IO-AIO-3.05/COPYING
IO-AIO-3.05/AIO.pm
IO-AIO-3.05/AIO.xs
IO-AIO-3.05/MANIFEST

  CPAN.pm: Going to build M/ML/MLEHMANN/IO-AIO-3.05.tar.gz

checking for gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking for library containing pthread_create... none required
checking for futimes... yes
checking for readahead... yes
checking for fdatasync... yes
checking for pread and pwrite... no
checking for sendfile... yes
configure: creating ./config.status
config.status: creating libeio/config.h
Checking if your kit is complete...
Looks good
Writing Makefile for IO::AIO
cp AIO.pm blib/lib/IO/AIO.pm
/usr/local/bin/perl /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap  AIO.xs > AIO.xsc && mv AIO.xsc AIO.c
cc -c   -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\"3.05\" -DXS_VERSION=\"3.05\" -fpic "-I/usr/local/lib/perl5/5.8.8/i686-linux/CORE"   AIO.c
In file included from AIO.xs:112:
libeio/eio.c: In function `etp_atfork_prepare':
libeio/eio.c:317: error: `preadwritelock' undeclared (first use in this function)
libeio/eio.c:317: error: (Each undeclared identifier is reported only once
libeio/eio.c:317: error: for each function it appears in.)
libeio/eio.c: In function `etp_atfork_parent':
libeio/eio.c:324: error: `preadwritelock' undeclared (first use in this function)
make: *** [AIO.o] 错误 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible



QUOTE:
Writing Makefile for IO::AIO
cp AIO.pm blib/lib/IO/AIO.pm
/usr/local/bin/perl /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap  AIO.xs > AIO.xsc && mv AIO.xsc AIO.c
cc -c   -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2   -DVERSION=\"3.05\" -DXS_VERSION=\"3.05\" -fpic "-I/usr/local/lib/perl5/5.8.8/i686-linux/CORE"   AIO.c
In file included from AIO.xs:112:
libeio/eio.c: In function `etp_atfork_prepare':
libeio/eio.c:317: error: `preadwritelock' undeclared (first use in this function)
libeio/eio.c:317: error: (Each undeclared identifier is reported only once
libeio/eio.c:317: error: for each function it appears in.)
libeio/eio.c: In function `etp_atfork_parent':
libeio/eio.c:324: error: `preadwritelock' undeclared (first use in this function)
make: *** [AIO.o] 错误 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

找不到某些function的宣告..
看得出来应该是少装了什麽library...
请先检查README/INSTALL..看看Prerequestic....那个部分..
不好意思.我在README 里翻了好多遍 没有Prerequestic这个部分啊.

另外 我还想请教一个问题.
我上面那些是在装 mogilefs 这个组件
他要求 perl 的版本是  5.8.8  我的RHEL4  自带的是 5.8.5 的.
我下载了perl-5.8.8.tar.tar这个包  直接 用 sh Configure -de  安装了.

然后 我看 /usr/bin/perl -v 是 5.8.5 的
          /usr/local/bin/perl -v  是 5.8.8  的

我就  mv /usr/binperl /usr/bin/perl.bak
        ln -s /usr/local/bin/perl /usr/bin/perl

这样做可以达到升级 perl  的版本吧?

正确的升级方法是什么呢?   

先用 rpm -e --nodeps perl  把 perl   卸载掉,然后在用 TAR包 默认安装对吗?