[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