鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

编译Greenplum 5.11.3过程中,由于Perl版本过高导致编译安装出错的解决方法

问题现象描述

编译Greenplum过程中,由于Perl版本过高导致编译安装出错,提示“Assigning non-zero to $[ is no longer possible at /parse.pl line 21”。

1
2
3
4
5
make[5]:Nothing to be done for 'all'.
make[5]: Leaving directory '/disk/5113/gpdb-5.11.3/src/port'
"/usr/bin/perl" ./parse.pl  .< ../../../../src/backend/parser/gram.y > preproc.y
Assigning non-zero to $[ is no longer possible at /parse.pl line 21.
[Makefile:64: preproc.y] Error 255

完整提示信息如下图所示。

关键过程、根本原因分析

openEuler 22.03中,Perl版本过高,已不支持对“$[”赋不等于0的值,导致出现此问题。

结论、解决方案及效果

  1. 下载Perl 5.10.0压缩包

  2. 解压Perl 5.10.0压缩包。
    1
    unzip v5.10.0
    
  3. 进入Perl目录,并执行编译安装。
    1
    2
    3
    4
    cd perl5-5.10.0 
    ./Configure -des -Dprefix=/usr/local/perl
    make -j
    make install
    
  4. 将系统默认的Perl版本更改为在“/usr/local/perl/bin/perl”中的版本。
    1
    2
    mv /usr/bin/perl /usr/bin/perl.old
    ln -s /usr/local/perl/bin/perl /usr/bin/perl
    
  5. 查看Perl版本,确认已经升级至成功Perl 5.10.0。
    1
    perl -v
    

  6. 重新编译Greenplum。