Perl error in v2.80

After updated to v2.80 appeared in load.out the following errors, repeated a lot of times:

syntax error at /usr/opt/perl5/lib64/5.28.1/warnings.pm line 457, near ""chunk")"
Unmatched right curly bracket at /usr/opt/perl5/lib64/5.28.1/warnings.pm line 468, at end of line
syntax error at /usr/opt/perl5/lib64/5.28.1/warnings.pm line 468, near "}"
Compilation failed in require at /export/web/stor2rrd/bin/qs_volume.pl line 2.
BEGIN failed--compilation aborted at /export/web/stor2rrd/bin/qs_volume.pl line 2.

Stor2rrd is running in an AIX server and we recently migrated it to AIX 7.2, maybe the errors are related with this.
Can you help me to deal with this?

Best regards,
Andres Cordoba.

Comments

  • Hi,

    issue with perl path, has it happened just after stor2rrd upgrade or AIX upgrade
    I think AIX upgrade ...

    grep PERL etc/sto2rrd.cfg| grep -v export
    grep PERL BACKUP-INSTALL/*/etc/stor2rrd.cfg| grep -v export


  • Well, I noted it after update stor2rrd, but maybe the errors started before.

    $ grep PERL etc/stor2rrd.cfg| grep -v export
      PERL=/opt/freeware/bin/perl
    $ grep PERL BACKUP-INSTALL/*/etc/stor2rrd.cfg| grep -v export
    BACKUP-INSTALL/stor2rrd-1.30/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-1.30/etc/stor2rrd.cfg:  PERL5LIB=/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/usr/lib/perl5/vendor_perl/5.8.8:/usr/lib64/perl5/vendor_perl/5.8.8:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.2:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/opt/freeware/lib/perl5/vendor_perl/5.10.1/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1:/usr/lib/perl5/vendor_perl/5.10.1:/usr/lib64/perl5/vendor_perl/5.10.1:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi
    BACKUP-INSTALL/stor2rrd-1.31-1/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-1.31-1/etc/stor2rrd.cfg:  PERL5LIB=:/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/usr/lib/perl5/vendor_perl/5.8.8:/usr/lib64/perl5/vendor_perl/5.8.8:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.2:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/opt/freeware/lib/perl5/vendor_perl/5.10.1/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1:/usr/lib/perl5/vendor_perl/5.10.1:/usr/lib64/perl5/vendor_perl/5.10.1:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi
    BACKUP-INSTALL/stor2rrd-1.32/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-1.32/etc/stor2rrd.cfg:  PERL5LIB=::/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/usr/lib/perl5/vendor_perl/5.8.8:/usr/lib64/perl5/vendor_perl/5.8.8:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.2:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/opt/freeware/lib/perl5/vendor_perl/5.10.1/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1:/usr/lib/perl5/vendor_perl/5.10.1:/usr/lib64/perl5/vendor_perl/5.10.1:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi
    BACKUP-INSTALL/stor2rrd-1.35-1/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-1.35/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-2.00/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-2.01/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-2.10/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-2.20/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-2.30/etc/stor2rrd.cfg:  PERL=/usr/bin/perl
    BACKUP-INSTALL/stor2rrd-2.40/etc/stor2rrd.cfg:  PERL=/opt/freeware/bin/perl
    BACKUP-INSTALL/stor2rrd-2.60/etc/stor2rrd.cfg:  PERL=/opt/freeware/bin/perl
    BACKUP-INSTALL/stor2rrd-2.61/etc/stor2rrd.cfg:  PERL=/opt/freeware/bin/perl
    BACKUP-INSTALL/stor2rrd-2.70/etc/stor2rrd.cfg:  PERL=/opt/freeware/bin/perl
    BACKUP-INSTALL/stor2rrd-2.71/etc/stor2rrd.cfg:  PERL=/opt/freeware/bin/perl
    $

  • there is not set PERL5LIB at all! since 1.35-1?? do not understand
    Try set the latest one fropm stor2rrd-1.32 in etc/stor2rrd.cfg

    PERL5LIB=::/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/usr/lib/perl5/vendor_perl/5.8.8:/usr/lib64/perl5/vendor_perl/5.8.8:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.2:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/opt/freeware/lib/perl5/vendor_perl/5.10.1/ppc-thread-multi:/usr/lib64/perl5/vendor_perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1:/usr/lib/perl5/vendor_perl/5.10.1:/usr/lib64/perl5/vendor_perl/5.10.1:/opt/freeware/lib/perl/5.8.0:/opt/freeware/lib/perl/5.10.1:/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi
  • :D No, it is because you ask me to grep -v "export", and my installation path is /export/web/stor2rrd. Is the following:

      PERL5LIB=/export/web/stor2rrd/bin:/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/export/web/stor2rrd/lib:/usr/opt/perl5/lib64/5.28.1:/opt/freeware/lib/perl5/site_perl/5.8.8/ppc-thread-multi:/opt/freeware/lib/perl5/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/opt/freeware/lib/perl/5.8.8
  • andycor
    edited May 2020
    After trying the one from v.1.32, I get the following repeted a lot of times:

    Can't locate Storcfg2html.pm in @INC (@INC contains: /opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi /usr/lib64/perl5/vendor_perl/5.8.8 /usr/opt/perl5/lib/site_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib64/perl5/vendor_perl/5.8.8 /opt/freeware/lib/perl/5.8.0 /opt/freeware/lib/perl/5.8.8/ppc-thread-multi /opt/freeware/lib/perl/5.8.8 /usr/opt/perl5/lib/site_perl/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi /opt/freeware/lib/perl5/vendor_perl/5.10.1/ppc-thread-multi /usr/lib64/perl5/vendor_perl/5.10.1 /usr/opt/perl5/lib/site_perl/5.10.1 /usr/lib/perl5/vendor_perl/5.10.1 /usr/lib64/perl5/vendor_perl/5.10.1 /opt/freeware/lib/perl/5.8.0 /opt/freeware/lib/perl/5.10.1 /usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi /opt/freeware/lib/perl5/5.8.8/ppc-thread-multi /opt/freeware/lib/perl5/5.8.8 /opt/freeware/lib/perl5/site_perl/5.8.8/ppc-thread-multi /opt/freeware/lib/perl5/site_perl/5.8.8 /opt/freeware/lib/perl5/site_perl /opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi /opt/freeware/lib/perl5/vendor_perl/5.8.8 /opt/freeware/lib/perl5/vendor_perl .) at /export/web/stor2rrd/bin/storage.pl line 21.
    BEGIN failed--compilation aborted at /export/web/stor2rrd/bin/storage.pl line 21.
    Wed May 27 18:21:00 DFT 2020: an error in /opt/freeware/bin/perl -w /export/web/stor2rrd/bin/storage.pl: 2

    I've solved this error puting "/export/web/stor2rrd/bin" at the begining of PERL5LIB
  • ok, I though that "-v export" could do the trick :)
    Try to revert PERL5PATH from last working version (2.71)
  • Well, now we are again at the first post ;)
    PERL5PATH was preserved in the migration from 2.71 to 2.80, is the same.
  • what is your actual PERL5PATH? I guess the problem, already seen that.

    Is anything working? UI, graphs ...
  • This is the actual PERL5PATH (same as 2.71):

    PERL5LIB=/export/web/stor2rrd/bin:/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/export/web/stor2rrd/lib:/usr/opt/perl5/lib64/5.28.1:/opt/freeware/lib/perl5/site_perl/5.8.8/ppc-thread-multi:/opt/freeware/lib/perl5/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/opt/freeware/lib/perl/5.8.8

    Nothing working, UI is garbage.
  • andycor
    edited May 2020
    Mmmm.... I think I've solved the problem.

    I've removed "/usr/opt/perl5/lib64/5.28.1" from the PERL5LIB variable, and now seems to be working OK.
    load.sh still is running, but it stopped giving errors and the UI returned to normal...

    Many thanks for your help, I hope this trouble helps anyone else.
    Regards.

  • try this, all single line

    PERL5LIB=/export/web/stor2rrd/bin:/usr/opt/perl5/lib64/5.28.1:/opt/freeware/lib/perl5/vendor_perl/5.8.8:/opt/freeware/lib/perl5/5.8.8:/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi:/opt/freeware/lib/perl/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.2:/export/web/stor2rrd//lib

    if no change then this
    ls -l /usr/opt/perl5/lib/site_perl/






  • let me know if it is ok, also let me know this:
    grep PERL etc/stor2rrd.cfg
  • yep /usr/opt/perl5/lib64/5.28.1 could be there but somewhere at the end

  • Don't know if you read my previous post, but I think that it is solved now.

    $ grep PERL etc/stor2rrd.cfg
      PERL=/opt/freeware/bin/perl
      PERL5LIB=/export/web/stor2rrd/bin:/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/export/web/stor2rrd/lib:/opt/freeware/lib/perl5/site_perl/5.8.8/ppc-thread-multi:/opt/freeware/lib/perl5/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/opt/freeware/lib/perl/5.8.8
      #PERL5LIB=/export/web/stor2rrd/bin:/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi:/usr/opt/perl5/lib/site_perl/5.8.8/aix-thread-multi:/export/web/stor2rrd/lib:/usr/opt/perl5/lib64/5.28.1:/opt/freeware/lib/perl5/site_perl/5.8.8/ppc-thread-multi:/opt/freeware/lib/perl5/5.8.8:/usr/opt/perl5/lib/site_perl/5.8.8:/opt/freeware/lib/perl/5.8.8
    export STORAGE_LIST STORAGE_USER WEBDIR INPUTDIR RRDTOOL DEBUG PERL PICTURE_COLOR SAMPLE_RATE
    export RRDHEIGHT RRDWIDTH PERL5LIB ERRLOG SAMPLE_RATE TOPTEN BINDIR HUS_CLIDIR SSH
    export WEB_CGI_PATH PERL5LIB LANG


  • ok, it is resolution
  • RXG
    RXG
    edited July 2020
    Hello,

    having perl library issues on AIX 7.2 trying to run stor2rrd scripts. Machine is already running lpar2rrd with Apache 2.4+ without issues.



    Errors and realted info are included for stor2rrd:

    /home/stor2rrd/stor2rrd> ./load.sh

    Can't load '/usr/opt/perl5/lib64/site_perl/5.28.1/aix-thread-multi-64all/auto/XM                                      L/Parser/Expat/Expat.so' for module XML::Parser::Expat: Could not load module /u                                      sr/opt/perl5/lib64/site_perl/5.28.1/aix-thread-multi-64all/auto/XML/Parser/Expat                                      /Expat.so.
    System error: Exec format error at /opt/freeware/lib/perl5/5.28.1/ppc-aix-thread                                      -multi/DynaLoader.pm line 193.
     at /usr/opt/perl5/lib64/site_perl/5.28.1/aix-thread-multi-64all/XML/Parser.pm l                                      ine 18.
    Compilation failed in require at /usr/opt/perl5/lib64/site_perl/5.28.1/aix-threa                                      d-multi-64all/XML/Parser.pm line 18.
    BEGIN failed--compilation aborted at /usr/opt/perl5/lib64/site_perl/5.28.1/aix-t                                      hread-multi-64all/XML/Parser.pm line 22.
    Compilation failed in require.
    BEGIN failed--compilation aborted.
    start time san : Mon Jul 20 10:56:58 CDT 2020
    STOR2RRD free version 2.81
    Alarm          : 3600
    RRDp    version: 1.4008
    RRDtool version: 1.4.8
    start time lan : Mon Jul 20 10:56:58 CDT 2020
    STOR2RRD free version 2.81
    Alarm          : 3600
    RRDp    version: 1.4008
    RRDtool version: 1.4.8
    \C no longer supported in regex; marked by <-- HERE in m/(\ <-- HERE C)/ at /opt                                      /freeware/lib/perl5/vendor_perl/5.8.8/URI/Escape.pm line 205.
    Compilation failed in require at /opt/freeware/lib/perl5/vendor_perl/5.8.8/URI.p                                      m line 22.
    BEGIN failed--compilation aborted at /opt/freeware/lib/perl5/vendor_perl/5.8.8/U                                      RI.pm line 22.
    Compilation failed in require at (eval 48) line 1.
    Compilation failed in require at /home/stor2rrd/stor2rrd/lib/HTTP/Request.pm lin                                      e 3.
    Compilation failed in require at /home/stor2rrd/stor2rrd/lib/LWP/UserAgent.pm li                                      ne 10.
    BEGIN failed--compilation aborted at /home/stor2rrd/stor2rrd/lib/LWP/UserAgent.p                                      m line 10.
    Compilation failed in require at /home/stor2rrd/stor2rrd/lib/LWP.pm line 7.
    Compilation failed in require at /home/stor2rrd/stor2rrd/bin/DeviceConnTest.pm l                                      ine 2432.
    BEGIN failed--compilation aborted at /home/stor2rrd/stor2rrd/bin/DeviceConnTest.                                      pm line 2432.
    Compilation failed in require.
    BEGIN failed--compilation aborted.
    alert last_rec : limit is 6 hours
    alert last_rec : V7000 : /home/stor2rrd/stor2rrd/data/V7000/last_rec does not ex                                      ists!
    alert last_rec : V9000 : /home/stor2rrd/stor2rrd/data/V9000/last_rec does not ex                                      ists!
    Custom start    : free : 1
    Finished       : Mon Jul 20 10:56:59 2020, run time: 0 secs
    heatmap-stor   : start Mon Jul 20 10:56:59 2020
    heatmap-stor   : set SAN Data IN utilization for 0 ports
    heatmap-stor   : set SAN Data OUT utilization for 0 ports
    heatmap-stor   : set resp utilization for 0 pools
    heatmap-stor   : set resp utilization for 0 volumes
    heatmap-stor   : set capacity utilization for 0 pools/tiers
    heatmap-stor   : end Mon Jul 20 10:56:59 2020
    trim logs      : not this time 20 == 20
    reporter START : Mon Jul 20 10:56:59 2020
    load cfg       : /home/stor2rrd/stor2rrd/etc/web_config/reporter.json
    product        : STOR2RRD
    reporter       : not this time 20 == 20
    reporter END   : Mon Jul 20 10:56:59 2020
    start time html: Mon Jul 20 10:56:59 CDT 2020
    installing WWW : install-html.sh
    Host identif   : AIX IBM-nim-master 2 7 00C62B274C00 020662B27
    Apparently nothing new, install_html.sh exiting
    end time       : Mon Jul 20 10:56:59 CDT 2020
    Inactive volumes start  : Mon Jul 20 10:56:59 CDT 2020
    Inactive volumes end    : Mon Jul 20 10:56:59 CDT 2020
    Mon Jul 20 10:56:59 CDT 2020


    /home/stor2rrd/stor2rrd# . etc/stor2rrd.cfg; $PERL bin/perl_modules_check.pl

    ERROR: Perl module has not been found: LWP::UserAgent
    ERROR: Perl module has not been found: LWP::Protocol::http
    ERROR: Perl module has not been found: LWP::Protocol::https
           It is a must for VMAX, VPLEX, Huawei, Compellent, NetApp, PureStorage, Infinibox, Isilon, BNA
           and some others which use HTTPS protocol if is configured in GUI
    Note that it does not affect storages where is not used HTTPS API for getting data
    Refer here how to resolve it: http://www.stor2rrd.com/https.htm

    Install all missing Perl modules and do this test again, check http://www.stor2rrd.com/https.htm:
    Usage: cd <STOR2RRD WORK DIR>; . etc/stor2rrd.cfg; $PERL bin/perl_modules_check.pl


  • /home/stor2rrd/stor2rrd>grep PERL etc/stor2rrd.cfg

    PERL=/opt/freeware/bin/perl
     PERL5LIB=/home/stor2rrd/stor2rrd/bin:/home/stor2rrd/stor2rrd/lib:/opt/freeware/lib/perl/5.8.8/ppc-thread-multi:/opt/freeware/lib/perl/5.8.8/ppc-thread-multi-64all:/opt/freeware/lib/perl/5.8.8:/opt/freeware/lib/perl5/vendor_perl/5.8.8:/usr/opt/perl5/lib64/site_perl/5.28.1/aix-thread-multi-64all:/usr/opt/perl5/lib/site_perl/5.28.1:/usr/opt/perl5/lib/5.28.1:/usr/opt/perl5/lib/site_perl/5.28.1/aix-thread-multi:/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi-64all:/opt/freeware/lib/perl5/5.28.1/ppc-aix-thread-multi


    export STORAGE_LIST STORAGE_USER WEBDIR INPUTDIR RRDTOOL DEBUG PERL PICTURE_COLOR SAMPLE_RATE
    export RRDHEIGHT RRDWIDTH PERL5LIB ERRLOG SAMPLE_RATE TOPTEN BINDIR HUS_CLIDIR SSH
    export WEB_CGI_PATH PERL5LIB LANG
  • Hi,

    revert back you original PERL5LIB from backup of the last version:
    BACKUP-INSTALL/stor2rrd-2.<version>/etc/stor2rrd.cfg

  • Our setup is a new install and not an upgrade. We don't have the previous version installed
  • find /usr -name Escape.pm -ls
    find /opt  -name Escape.pm -ls



Sign In or Register to comment.