Started bullding LAPACK package on VMS

The top level of LAPACK contains the descript.mms file that build it all:
all :
set default [.install]
$(MMS)$(MMSQUALIFIERS)
set default [-.src]
$(MMS)$(MMSQUALIFIERS)
set default [-.blas]
$(MMS)$(MMSQUALIFIERS)
set default [-.TESTING]
$(MMS)$(MMSQUALIFIERS)
set default [-]

so a simple
$ mms
should do the trick. but first, there is this extra file to build. Again, life is made easy using mms:

$ set def [.vms_auto64_2^.8]
$ mms

cc/define=(VMS)/comment=as_is/prep=vms_auto64_.f90 vms_auto64.f90
f90/list/show=all/obj=vms_auto64.obj vms_auto64_.f90
delete vms_auto64_.f90;*
link vms_auto64.obj
f90/name=lower dummy_auto64.f90
All done
$ dir

Directory USER:[000000.prj.vms_auto64_2^.8]

descrip.mms;1 dummy_auto64.f90;1 dummy_auto64.OBJ;1 MODULE_FIRSTNS.F90$MOD;1
MODULE_IARGC.F90$MOD;1 MODULE_LASTNS.F90$MOD;1
vms_auto64.EXE;1 vms_auto64.f90;1 vms_auto64.obj;1 vms_auto64_.LIS;1

Total of 10 files.
$ copy vms_auto64.EXE sys$library

Next, running the .mms file in the [.INSTALL] directory of LAPACK this works until an error occurs:

cc/define=(VMS)/comment=as_is/prep=slamch.f_ slamch.f
fortran/name=lower/float=ieee/ieee=denorm/nowarn/list/show=all/obj=slamch.obj slamch.f_
pipe link/map/full/exec=nl: slamch | copy sys$input nl:

mc sys$library:vms_auto64 slamch.map slamch.lis
%FOR-F-INPRECTOO, input record too long
unit 442 file USER:[prj.lapack.INSTALL]slamch.f;1
user PC 00000000
-RMS-W-RTB, 140 byte record too large for user's buffer
%TRACE-F-TRACEBACK, symbolic stack dump follows
image module routine line rel PC abs PC
LIBRTL 0 00000000000741FC FFFFFFFF80CA41FC
DEC$FORRTL 0 000000000004E284 FFFFFFFF810D4284
DEC$FORRTL 0 0000000000071318 FFFFFFFF810F7318
vms_auto64 MODULE_LASTNS VMS_AUTO64 558 0000000000003968 0000000000033968
0 FFFFFFFF8037FC44 FFFFFFFF8037FC44
%TRACE-I-END, end of TRACE stack dump
%MMS-F-ABORT, For target slamch.obj, CLI returned abort status: %X101880B4.
%MMS-F-ABORT, For target all, CLI returned abort status: %X10EE8034.
$

Examining why this happend, I found that line 157 in slamch.f exceeds 128 bytes; this is just a comment, it seems CRLF at the ‘normal’ length (72 characters) is missing so the line extends to 140 – causing the problem. breaking the line in two at position 72 solved the problem. The same happened in dlamch_64 where I also split the line. I notified Jouk Jansen (who did the porting) of this issue.
Further down the line creating and populating the oject library missed an object file and that file indeed was missing:
ibrary/crea [-]liblapack.olb dlamch.obj,dsecnd_INT_CPU_TIME.obj, ilaver.obj,lsame.obj,second_INT_CPU_TIME.obj, slamch.obj
library [-]liblapack.olb dlamch_64.obj,dsecnd_INT_CPU_TIME_64.obj, ilaver_64.obj,lsame_64.obj,second_INT_CPU_TIME_64.obj, slam
ch_64.obj
link LAPACK_version.obj,[-]liblapack.olb/lib
link/exec=LAPACK_version_64.exe LAPACK_version_64.obj, [-]liblapack.olb/lib
%LINK-F-OPENIN, error opening USER:[prj.lapack.INSTALL]LAPACK_version_64.obj; as input
-RMS-E-FNF, file not found
%MMS-F-ABORT, For target LAPACK_version_64.exe, CLI returned abort status: %X1064109C.

Next I built BLAS – by changing defaut add run the mms-file: here no problems at all, should be placed in the library.

Next, downloaded SciPy and Numpy, and MatPlotLib and it’s subsets. However, this requires Python 3.5 which is not available on VMS = being 2.7. Perhaps there are older version,s but where to get them? The site sint very clear on that: So ask around.