[Info-vax] How to tell SET COMMAND where the .EXE file is?
alanfe...@gmail.com
alanfeldman48 at gmail.com
Mon Sep 26 21:36:13 EDT 2022
On Monday, September 26, 2022 at 12:45:25 AM UTC-4, Steven Schweda wrote:
> > I'm trying to set up DIRSORT from the freeware site. [...]
>
> Thanks for the helpful link. I fetched a kit from:
>
> https://www.digiater.nl/openvms/freeware/v80/lww-dirsort/
>
> Perhaps it's similar to whatever you found wherever.
> > I suspect that the DIRSORT utility .CLD is similarly-written.
> Not really. No "IMAGE" statement (unless you count the comment). As
> its .CLD file is used, none is needed.
>
>
> > $ SET COMMAND DIRSORT
>
> You're working too hard. There's no need for the user to deal with
> "SET COMMAND"; the build procedure does that. All the user needs to do
> is define a DCL symbol which points to the executable. (Or use
> DCL$PATH? (Gack.))
>
> The documentation is a bit sparse, but I tried the following:
>
> ITS $ @ build.com
>
> CC /standard=vaxc/optimize/nodebug DIRSORT.C
> CC /standard=vaxc/optimize/nodebug SUPPORT.C
> SET COMMAND/OBJECT=DIRSORT_CLD.OBJ DIRSORT.CLD
> link /exe=DIRSORT/sysexe /nodebug/nomap/notraceback dirsort/opt, sys$load
> able_images:dcldef.stb
> purge /exclude=(*.c,*.h,*.cld)
>
> End Time: 23:20:23.70
> Begin Time: 23:20:20.31
> Elapsed time: 0:03.39
>
> ITS $
>
> ITS $ dirsort == "$ ''f$environment( "default")'DIRSORT.EXE"
> ITS $ dirsort
>
> Directory ITS$DKA0:[UTILITY.SOURCE.DIRSORT.V1R2S4.DIRSORT]
>
> 2022-Sep-25 23:07:30.44 aaareadme.txt;1
> 2022-Sep-25 23:07:30.48 bin.DIR;1
> 2022-Sep-25 23:07:30.54 build.com;1
> [...]
> 2022-Sep-25 23:20:23.38 support.OBJ;1
> 2022-Sep-25 23:20:23.44 DIRSORT_CLD.OBJ;1
> 2022-Sep-25 23:20:23.67 DIRSORT.EXE;1
>
> Total of 18 files
>
> ITS $
>
>
> Note that the Info-ZIP Zip and UnZip "_CLI" programs work similarly.
>
> Many improvements are possible in that kit, from eliminating
> "/standard=vaxc" to using separate product directories for different
> hardware architectures (including IA64 and X86_64).
>
>
> > I consider it good practice [...]
>
> I agree. I have a UTILITY directory for such add-ons.
Thanks!
I did your procedure, got no error messages, but I still get an access violation (working on EISNER):
$ DIRSORT :== $SCRFELD:[DIRS1A.DIRSORT.BIN.ALPHA]DIRSORT.EXE
$ DIRSORT
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=FFFFFFFFFFFFFFFF, PC=00000000000323E0, PS=0000001B
Improperly handled condition, image exit forced.
Signal arguments: Number = 0000000000000005
Name = 000000000000000C
0000000000000000
FFFFFFFFFFFFFFFF
00000000000323E0
000000000000001B
Register dump:
R0 = 00000000000001BD R1 = FFFFFFFFFFFFFFFF R2 = 00000000000101E0
R3 = 0000000000020098 R4 = 0000000000040230 R5 = 00000000000403A0
R6 = 00000000000402C0 R7 = 00000000000403C0 R8 = 0000000000040330
R9 = 000000007FF9DDF0 R10 = 0000000000040550 R11 = 000000007FFCDC18
R12 = 000000007FFCDA98 R13 = 000000007AF0D3D0 R14 = 0000000000000000
R15 = 000000007AF0C9E0 R16 = 000000007ADFF790 R17 = 000000007ADFF798
R18 = 0000000000000008 R19 = 000000000000017C R20 = 0000000000000000
R21 = 0000000000000FC1 R22 = 000000007ADFF820 R23 = 0000000000000001
R24 = 000000000000000C R25 = 0000000000000002 R26 = 0000000000030210
R27 = 0000000000010510 R28 = 0000000000000000 R29 = 000000007ADFF710
SP = 000000007ADFF710 PC = 00000000000323E0 PS = 100000000000001B
$
So what's wrong now?
More information about the Info-vax
mailing list