AIX Perl compatability issue

SAN monitoring

In case you find this error during initial configuration:
$ cd /home/stor2rrd/stor2rrd/logs
$ tail -1 err.log-<Switch IP>
  Can't load '/opt/freeware/lib/perl5/vendor_perl/5.8.8/ppc-thread-multi/auto/NetSNMP/default_store/default_store.so' for module NetSNMP::default_store: 
  Could not load module /opt/freeware/lib/libnetsnmp.a(libnetsnmp.so.25).
  Dependent module /usr/lib/libcrypto.a(libcrypto.so.1.0.1) could not be loaded.
  Member libcrypto.so.1.0.1 is not found in archive

Storage monitoring

If you cannot get storage working (especially SVC/Storwize) then check if you see this error:
$ cd /home/stor2rrd/stor2rrd/logs
$ tail -1 error.log-<storage name>
  Can't locate object method "new" via package "XML::LibXML::SAX" at /usr/opt/perl5/lib/site_perl/5.10.1/XML/SAX/ParserFactory.pm line 43.

Resolution

It most probably means that you miss Perl XML libraries or you do not use /opt/freeware/perl
  1. Check that you have set this in etc/stor2rrd.cfg, set it if does not
    PERL=/opt/freeware/bin/perl
    PERL5LIB=/home/stor2rrd/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:/home/stor2rrd/stor2rrd/lib:/usr/opt/perl5/lib/site_perl/5.10.1/aix-thread-multi:/opt/freeware/lib/perl/5.8.8
    
  2. Check out if the problem persits:
    • SAN
      $ cd /home/stor2rrd/stor2rrd
      $ ./bin/config_check.sh
        =========================
        SWITCH: Switch_IP1
        =========================
        Type         : BRCD
        DestHost     : Switch_host
        Version SNMP : 1
        Community    : public
        Switch name  : Switch_host
        STATE        : CONNECTED!
      
    • Storage
      Let it work for 15-20mins and check the log again

  3. when it does help that check if you have installed Perl XML stuff
    $ rpm -qa|grep -i perl
      rrdtool-perl-1.4.8-2
      perl-XML-NamespaceSupport-1.11-1
      perl-XML-SAX-Base-1.08-1
      perl-5.8.8-2
      perl-TimeDate-1.20-1
      perl-URI-1.58-1
      perl-XML-LibXML-2.0012-1
      perl-XML-Parser-2.41-1
      perl-XML-Simple-2.18-1
      perl-XML-SAX-0.99-1
    
    If not then install them under root ( you can take packages from here )
     rpm -Uvh perl-5.8.8-2.aix5.1.ppc.rpm
     rpm -Uvh perl-TimeDate-1.20-1.aix5.1.noarch.rpm
     rpm -Uvh perl-URI-1.58-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-Parser-2.41-1.aix5.1.ppc.rpm
     rpm -Uvh perl-XML-Simple-2.18-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-LibXML-2.0012-1.aix5.1.ppc.rpm
     rpm -Uvh perl-XML-SAX-0.99-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-SAX-Base-1.08-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-NamespaceSupport-1.11-1.aix5.1.noarch.rpm
    
  4. If above rpm install fails with this error:
     package perl-5.8.2-1 (which is newer than perl-5.8.8-2) is already installed
     error: failed dependencies:
     perl(:MODULE_COMPAT_5.8.8) is needed by perl-TimeDate-1.20-1
    
    then install it exactly like here:
     rpm -ivvh --force perl-5.8.8-2.aix5.1.ppc.rpm
     rpm -Uvh perl-TimeDate-1.20-1.aix5.1.noarch.rpm
     rpm -Uvh perl-URI-1.58-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-Parser-2.41-1.aix5.1.ppc.rpm
     rpm -Uvh perl-XML-Simple-2.18-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-LibXML-2.0012-1.aix5.1.ppc.rpm
     rpm -Uvh perl-XML-SAX-0.99-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-SAX-Base-1.08-1.aix5.1.noarch.rpm
     rpm -Uvh perl-XML-NamespaceSupport-1.11-1.aix5.1.noarch.rpm
    
    and now it should work :)

  5. Check out if the problem persits:
    • SAN
      $ cd /home/stor2rrd/stor2rrd
      $ cd ./bin; ./config_check.sh
        =========================
        SWITCH: Switch_IP1
        =========================
        Type         : BRCD
        DestHost     : Switch_host
        Version SNMP : 1
        Community    : public
        Switch name  : Switch_host
        STATE        : CONNECTED!
      
    • Storage
      Let it work for 15-20mins and check the log again