我要评分
获取效率
正确性
完整性
易理解

Exception Occurs Due to a High Perl Version During Greenplum 5.11.3 Compilation and Installation

Symptom

Because the Perl version is too high, an error occurs during Greenplum compilation and installation. The message "Assigning non-zero to $[ is no longer possible at /parse.pl line 21" is displayed.

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

The complete error information is as follows:

Key Process and Cause Analysis

In openEuler 22.03, the Perl version is too high to support assigning a non-zero value to $[. As a result, this fault occurs.

Conclusion and Solution

  1. Download the Perl 5.10.0 package.

    Download link: https://github.com/Perl/perl5/tree/perl-5.10.0

  2. Decompress the Perl 5.10.0 package.
    unzip v5.10.0
  3. Go to the Perl directory and perform compilation and installation.
    cd perl5-5.10.0 
    ./Configure -des -Dprefix=/usr/local/perl
    make -j
    make install
  4. Change the default Perl version to the version in /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. Check the Perl version to ensure that Perl has been upgraded to 5.10.0.
    perl -v

  6. Recompile Greenplum.