More on building OpenBLAS with MMS and GNV make

No reply by JFP???

Because the standard method of SciPy using Python doesn’t seem to be usable, tried JFP’s method as entry point but then the structure of NumPy must be scrutinized. Apart from OpenBLAS (effectively standalone) there are C-sources to be compiled, and the order in which this done, may be crucial. So examine the building procedures.

Because OpenBLAS is said to be a requirement for NumPy, take a look there first. For LAPACK and BLAS there are VMS-specific procedures so keep these outside building OpenBLAS. There is a makefile for Alpha (and one for IA64) where there is no notion of OS, bt it is to be expected that TRU64 or Linux were in mind, but it also mentions a Comapq C-compiler so it might be it works for VMS as well. ATLAS is mentioned here as well (version 7.8) but given the location it is expected to reside on, it could be this is for TRU64 or Linux:

LIBATLAS = -L/usr/lib/atlas3.7.8 -lf77blas -latlas -lm

Building shows VMS isn’t supported:

$ mms

ifndef TOPDIR
%MMS-W-DRVPARSERR, Parser error: "syntax error" in file ./Makefile.system, line 8.
%MMS-F-DRVBADPARSE, Parser detected a fatal syntax error in the description file.
$...
NETLIB_LAPACK_DIR = $(TOPDIR)/lapack-netlib

So it might be handy to have GNV at hand – installed and activated on Diana, it should solve this. However, this gives yet another error:

$ bash
bash$ make
Makefile.system:15: Extraneous text after `else' directive
Makefile.system:17: Extraneous text after `else' directive
Makefile.system:17: *** only one `else' per conditional. Stop.
bash$

This is in the makefile – it can be left out (= commented out) because it is of no use for Alpha. But then it fails similarly on line 620:

bash$ make
Makefile.system:207: Makefile.conf: no such file or directory
Makefile.system:620: Extraneous text after `else' directive
Makefile.system:759: Extraneous text after `else' directive
Makefile.system:620: Extraneous text after `else' directive
Makefile.system:759: Extraneous text after `else' directive
Makefile.system:620: Extraneous text after `else' directive
Makefile.system:759: Extraneous text after `else' directive

so stopped with CTRL-C: same here:

ifeq ($(ARCH), $(filter $(ARCH),mips64))
ifdef BINARY64
CCOMMON_OPT += -mabi=64
else
CCOMMON_OPT += -mabi=n32
endif
BINARY_DEFINED = 1
else ifeq ($(ARCH), $(filter $(ARCH),mips)) < <<<------------- ERROR CCOMMON_OPT += -mabi=32 BINARY_DEFINED = 1 endif

and further down trhe code (line 759):

ifdef NO_BINARY_MODE
ifeq ($(ARCH), $(filter $(ARCH),mips64))
ifdef BINARY64
FCOMMON_OPT += -mabi=64
else
FCOMMON_OPT += -mabi=n32
endif
else ifeq ($(ARCH), $(filter $(ARCH),mips)) < <<<---------------- ERROR FCOMMON_OPT += -mabi=32 endif else ifdef BINARY64 ifneq ($(OSNAME), AIX) FCOMMON_OPT += -m64 endif

It seems GNV's make cannot handle nested ifdef - else idef … constructs. Mention this as a bug in the GNV ticket list, because this needs to eb solved.
Checked this on the cluster: Neither Python nor GNV are installed here: check with Robert.

04-Jul-2019

Maintenance to be done manually – in part
Because the local disk wasn’t available (no notion why, yet) saving the logfiles of June didn’t work as planned so I have to do that by hand. No big deal.
The mail statistics for June show a huge amount of messages – including a huge amount that are rejected – because I have added these rules to the PMAS configuration:

PMAS statistics for June
Total messages    :  16187 = 100.0 o/o
DNS Blacklisted   :      0 =    .0 o/o (Files:  0)
Relay attempts    :     24 =    .1 o/o (Files: 18)
Accepted by PMAS  :  16163 =  99.8 o/o (Files: 30)
  Handled by explicit rule
         Rejected :  13511 =  83.5 o/o (processed),  83.4 o/o (all)
         Accepted :    113 =    .6 o/o (processed),    .6 o/o (all)
  Handled by content
        Discarded :   2041 =  12.6 o/o (processed),  12.6 o/o (all)
     Quarantained :    279 =   1.7 o/o (processed),   1.7 o/o (all)
        Delivered :    219 =   1.3 o/o (processed),   1.3 o/o (all)

but for some reason, it doesn’t always work, some messages still come through.

Today, there was another power failure, just before 12:00 local time (9:55 system time – which us set to UCT, no DST) and this offer the opportunity to re-enable the local disk so I should be able to do the savings that did not occur on July 1st: Created a procedure to do just that, from the save_Logs procedure, except it won’t submit itself and contains a restriction on moving files into the archive: All before first of current month.

But there is another thing that is found in scanning logfiles: There seems to be problem with the ODS-5 structure on some files on Webdisk2 – which uses a disk container. It goes back to 3-Aug-2018 where the same message arose. But it is pretty harmless: The command that writes these (information) messages is ”

$ backup/interchange/log SYS$MANAGER:'fn'_done'fv'.log -
web_disk2:[private.operator]'fn'_done'fv'.txt

help on backup / interchange tells the story:

BACKUP

  /INTERCHANGE

     Directs BACKUP to process files in a manner suitable for data
     interchange (software distribution) by excluding information that
     would prevent other utilities or sites from reading the BACKUP
     save set.

     The /INTERCHANGE qualifier implies /CONVERT when the input is
     an ODS-5 disk or file. (You can also specify /NOCONVERT with the
     /INTERCHANGE qualifier.)

Forgot about that – so it’s normal.