LAPACK/BLAS passed – almost

There is still one thing to do in VMS_AUTH64.exe: if a line – typically a comment) exceeds some size (assumed 256 bytes) the program fails on “input line too long”. The answer is to edit the source, limit the comment lines to 128 bytes (or so) so it won’t hurt anymore.

In fact, all will now compile, but in the end of BLAS.TESTING there is a problem to be solved:

link/exec=xblat2s_64.exe sblat2_64.obj,[--]libblas.olb/lib
%LINK-W-NUDFSYMS, 1 undefined symbol:
%LINK-I-UDFSYM, lsame64__
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SGBMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SGEMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSBMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSPMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSPR2_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSPR_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSYMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSYR2_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__SSYR_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__STBMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__STBSV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__STPMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__STPSV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__STRMV_64__ file USER:[etw.Lapack380]libblas.olb;2
%LINK-W-USEUNDEF, undefined symbol lsame64__ referenced
in psect $LINK$ offset %X00000030
in module DUMMY__STRSV_64__ file USER:[etw.Lapack380]libblas.olb;2
%MMS-F-ABORT, For target xblat2s_64.exe, CLI returned abort status: %X10648268.
%MMS-F-ABORT, For target all, CLI returned abort status: %X10EE8034.

No idea where that comes from. I found one file that defines it: DOPMTR_64.f:
...
* =====================================================================␍
SUBROUTINE DOPMTR( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK,␍
$ INFO )␍
!DEC$ ATTRIBUTES ALIAS:'dlarf64__' :: dlarf
!DEC$ ATTRIBUTES ALIAS:'dopmtr64__' :: dopmtr
!DEC$ ATTRIBUTES ALIAS:'lsame64__' :: lsame
!DEC$ ATTRIBUTES ALIAS:'xerbla64__' :: xerbla
!DEC$ ATTRIBUTES ADDRESS64 :: AII
...

and there are quite a lot of sources that define LSAME – as a logical
* .. External Functions ..␍
COMPLEX*16 ZLARND␍
DOUBLE PRECISION DLARND␍
LOGICAL LSAME␍
EXTERNAL ZLARND, DLARND, LSAME␍

* ..␍

It may be that there was something during build that failed.