0

我正在尝试为 ubuntu 服务器 11.04 构建 zimbra HELIX-710。

我需要编译 perl,我得到一个我不明白的非常奇怪的错误。建筑物一切顺利,但在验证阶段出现错误。

这里的痕迹。

    loic@loicvm:/home/public/p4/HELIX-710/ThirdParty/Perl$ make   
rm -rf tmp /home/public/p4/HELIX-710/ThirdParty/Perl/zimbramon /home/public/p4/HELIX-710/ThirdPartyBuilds/UBUNTUUNKNOWN_64/perl/perllib.tgz /home/public/p4/HELIX-710 /ThirdPartyBuilds/UBUNTUUNKNOWN_64/perl/perlbin.tgz
rm -f 第三方-Perllibs.log
mkdir -p /home/loic/.cpan/CPAN
sed -e "s|@@LYNX@@|/usr/bin/lynx|g" -e "s|@@WGET@@|/usr/bin/wget|g" -e "s|@@LESS@ @|/usr/bin/less|g" -e "s|@@GPG@@|/usr/bin/gpg|g" -e "s|@@UNZIP@@|/usr/bin/unzip|g " -e "s|@@CURL@@|/usr/bin/curl|g" -e "s|@@BZIP2@@|/bin/bzip2|g" -e "s|@@MAKE@@| /usr/bin/make|g" -e "s|@@FTP@@|/usr/bin/ftp|g" -e "s|@@TAR@@|/bin/tar|g" -e " s|@@GZIP@@|/bin/gzip|g" -e "s|@@BUILD_TYPE@@|INSTALL_BASE|g" -e "s|@@BUILD_ROOT@@|/home/public/p4/HELIX- 710/第三方/Perl|g" -e "s|@@CMIRROR@@|http://zre-matrix.eng.vmware.com/cpan/|g" MyConfig.pm.template > /home/loic/。 cpan/CPAN/MyConfig.pm
mkdir -p /home/public/p4/HELIX-710/ThirdParty/Perl/zimbramon/lib
(cd /home/public/p4/HELIX-710/ThirdParty/Perl/zimbramon/lib; ln -s ../lib perl5)
mkdir -p /home/public/p4/HELIX-710/ThirdParty/Perl/zimbramon/bin
mkdir -p tmp
记录到第三方-Perllibs.log
编译 perl lib Crypt-SSLeay-0.57 ...完成。
编译 perl lib Crypt-OpenSSL-Random-0.04 ...完成。
编译 perl lib Crypt-OpenSSL-RSA-0.26 ...完成。
编译 perl lib Array-Compare-1.17 ...完成。
编译 perl lib Tree::DAG_Node ...完成。
编译 perl lib Sub::Uplevel ...完成。
编译 perl lib Test::Exception ...完成。
编译 perl lib Test::Warn ...完成。
编译 perl lib Net-SSLeay-1.36 ...完成。
编译 perl lib XML-Parser-2.36 ...完成。
编译 perl lib IO ...seddone。
编译 perl lib Scalar::Util ...完成。
编译 perl lib IO::Socket::SSL ...完成。
编译 perl lib Socket6 ...完成。
编译 perl lib DBI ...完成。
编译 perl lib IO::Zlib ...完成。
编译 perl lib Bit::Vector ...完成。
编译 perl lib HTML::Tagset ...完成。
编译 perl lib HTML::Parser ...完成。
编译 perl lib URI ...完成。
编译 perl lib Net::HTTP ...完成。
编译 perl lib Net::SMTP ...完成。
编译 perl lib Proc::ProcessTable ...完成。
编译 perl lib HTTP::Parser ...完成。
编译 perl lib IO::Stringy ...完成。
编译 perl lib E/ER/ERYQ/MIME-Lite-2.117.tar.gz ...完成。
编译 perl lib D/DA/DAGOLDEN/Module-Build-0.3607.tar.gz ...完成。
编译 perl lib Mail::Mailer ...完成。
编译 perl lib Convert::BinHex ...完成。
编译 perl lib D/DO/DONEILL/MIME-tools-5.427.tar.gz ...完成。
编译 perl lib SOAP::Lite ...完成。
编译 perl lib Net::Telnet ...完成。
编译 perl lib Config::IniFiles ...完成。
编译 perl lib Config::Properties ...完成。
编译 perl lib Cache::FastMmap ...完成。
编译 perl lib Device::SerialPort ...完成。
编译 perl lib Date::Calc ...完成。
编译 perl lib S/SB/SBECK/Date-Manip-5.56.tar.gz ...完成。
编译 perl lib Date::Parse ...完成。
编译 perl lib Time::HiRes ...完成。
编译 perl lib Convert::ASN1 ...完成。
编译 perl lib Net::LDAP ...完成。
编译 perl lib Net::Server ...完成。
编译 perl lib Unix::Syslog ...完成。
编译 perl lib Parallel::ForkManager ...完成。
编译 perl lib Package::Constants ...完成。
编译 perl lib IO::Compress::Base ...完成。
编译 perl lib IO::Compress::Gzip ...完成。
编译 perl lib Compress::Raw::Zlib ...完成。
编译 perl lib P/PM/PMQS/Compress-Zlib-1.42.tar.gz ...完成。
编译 perl lib Archive::Tar ...完成。
编译 perl lib Digest::SHA1 ...完成。
编译 perl lib Digest::HMAC ...完成。
编译 perl lib Digest::HMAC_MD5 ...完成。
编译 perl lib Convert::TNEF ...完成。
编译 perl lib Convert::UUlib ...完成。
编译 perl lib Net::IP ...完成。
编译 perl lib Net::DNS ...完成。
编译 perl lib File::Tail ...完成。
编译 perl lib File::Temp ...完成。
编译 perl lib File::Grep ...完成。
编译 perl lib Data::UUID ...完成。
编译 perl lib List::Compare ...完成。
编译 perl lib Getopt::Easy ...完成。
编译 perl lib Crypt::SaltedHash ...完成。
编译 perl lib Archive::Zip ...完成。
编译 perl lib Digest::SHA ...完成。
编译 perl lib 错误 ...完成。
编译 perl lib Mail::DKIM ...完成。
编译 perl lib K/KH/KHAMPTON/XML-SAX-Base-1.04.tar.gz ...完成。
编译 perl lib XML::SAX::Expat ...完成。
编译 perl lib XML::Simple ...完成。
编译 perl lib IO::Socket::INET6 ...完成。
编译 perl lib NetAddr::IP ...完成。
编译 perl lib Net::DNS::Resolver::Programmable ...完成。
编译 perl lib 版本 ...完成。
编译 perl lib Geography::Countries ...完成。
编译 perl lib IP::Country ...完成。
编译 perl lib DBD::SQLite ...完成。
编译 perl lib Net-LDAPapi-3.0.3 ...完成。
编译 perl lib BerkeleyDB-0.41 ...完成。
编译 perl lib DB_File ...完成。
编译 perl lib DBD::mysql ...完成。
编译 perl lib Mail-SPF-v2.008 ...完成。
编译 perl lib Mail-SpamAssassin-3.3.1 ...完成。
编译 perl lib swatch-3.2.3 ...完成。
正在验证 perl 模块构建...
/home/public/p4/HELIX-710/ThirdParty/Perl/zmcheckbuiltmodules.pl >> ThirdParty-Perllibs.log 2>&1;
make: *** [检查] 错误 1

之后,如果我手动午餐 zmcheckbuiltmodules.pl 我不会收到任何错误。

loic@loicvm:/home/public/p4/HELIX-710/ThirdParty/Perl$ ./zmcheckbuiltmodules.pl
/usr/share/perl5/HTTP/Request.pm
/usr/share/perl5/LWP/UserAgent.pm

Does some one have some clue ?

4

1 回答 1

0

I've browsed the log and the situation is clear: the installer is hopelessly broken. It installs Perl modules under a certain prefix /home/public/p4/HELIX-710/ThirdParty/Perl/zimbramon/, but does not actually add this path to the include path! So Perl cannot find just installed modules. This is such an utterly stupid mistake, it should never made it past QA.

Example: Sub::Uplevel is installed as /home/public/p4/HELIX-710/ThirdParty/Perl/zimbramon/lib/perl5/Sub/Uplevel.pm, then later the module Test::Exception requires it and fails because the include path only contains the system defaults /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl (smells like Debian) and the temporary CPAN build locations.

Demand a fix for this or your money back; or if that's not an option, give access to the machine to an Perl programmer who has experience with troubleshooting CPAN installations to sweep up the pieces.

于 2011-07-06T09:27:13.987 回答