<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DCL CHECKSUM sometimes doesn't select correct architecture in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157150#M26365</link>
    <description>Ben,&lt;BR /&gt;&lt;BR /&gt;  /IA64 and /ALPHA are only relevant with /IMAGE. They're used to calculate image checksums for the "other" architecture. See HELP CHECK/ALPHA and HELP CHECK/I64&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I'm not sure why you're seeing a difference in the calculated checksums. Here's an example, on the same file (an Alpha image)&lt;BR /&gt;&lt;BR /&gt;From Alpha:&lt;BR /&gt;$ checksum  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/alpha  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/i64  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;&lt;BR /&gt;From I64&lt;BR /&gt;$ checksum  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/i64 alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/alpha alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;&lt;BR /&gt;Similarly, executing against an I64 image&lt;BR /&gt;&lt;BR /&gt;From Alpha:&lt;BR /&gt; $ checksum i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/alpha i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/i64 i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt; &lt;BR /&gt;From I64:&lt;BR /&gt;$ checksum i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/alpha i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/i64 i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Using your test, I get consistent results on I64, but not on Alpha (same as your Alpha results)&lt;BR /&gt;&lt;BR /&gt;Alpha:&lt;BR /&gt;$ checksum file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "269859666"&lt;BR /&gt;$ checksum/alpha file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ checksum/i64 file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "269859666"&lt;BR /&gt;&lt;BR /&gt;I64&lt;BR /&gt;$ checksum file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ checksum/alpha file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ checksum/i64 file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ dir/full file_created_by_dcl.txt&lt;BR /&gt;&lt;BR /&gt;I suspect this may have something to do with the file being VFC&lt;BR /&gt;&lt;BR /&gt;When used for its intended purpose, the architecture qualifiers appear to work correctly:&lt;BR /&gt;&lt;BR /&gt;Alpha:&lt;BR /&gt;&lt;BR /&gt;$ checksum/image alphatest.exe&lt;BR /&gt;file DSA1:[GILLINGS]ALPHATEST.EXE;1&lt;BR /&gt;image section %D'1' checksum is %X'200D1419'&lt;BR /&gt;image section %D'2' checksum is %X'010C0305'&lt;BR /&gt;image section %D'3' checksum is %X'B1C4C909'&lt;BR /&gt;image section %D'4' checksum is %X'585945C2'&lt;BR /&gt;image header checksum is %X'00000019'&lt;BR /&gt;checksum of all image sections is %X'C89C9BD7'&lt;BR /&gt;$ checksum/image i64test.exe&lt;BR /&gt;file DSA1:[GILLINGS]I64TEST.EXE;1&lt;BR /&gt;%IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha image&lt;BR /&gt;$ checksum/image/i64 i64test.exe&lt;BR /&gt;File DSA1:[GILLINGS]I64TEST.EXE;1&lt;BR /&gt;Checksum program segment 0: %XB8350076&lt;BR /&gt;Checksum program segment 1: %X22C8DC48&lt;BR /&gt;Checksum program segment 2: %XE316BCEE&lt;BR /&gt;Checksum program segment 3: %X967AAF38&lt;BR /&gt;Checksum dynamic segment %X9991F29D&lt;BR /&gt;Elf header checksum: %XB27563D0&lt;BR /&gt;Elf program header checksum: %X59BCEBA7&lt;BR /&gt;Elf section header checksum: %X4CE2E954&lt;BR /&gt;Elf (object/image) checksum: %XA846BF48&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I64:&lt;BR /&gt;$ checksum/image i64test.exe&lt;BR /&gt;File DSA5:[GILLINGS_J]I64TEST.EXE;1&lt;BR /&gt;Checksum program segment 0: %XB8350076&lt;BR /&gt;Checksum program segment 1: %X22C8DC48&lt;BR /&gt;Checksum program segment 2: %XE316BCEE&lt;BR /&gt;Checksum program segment 3: %X967AAF38&lt;BR /&gt;Checksum dynamic segment %X9991F29D&lt;BR /&gt;Elf header checksum: %XB27563D0&lt;BR /&gt;Elf program header checksum: %X59BCEBA7&lt;BR /&gt;Elf section header checksum: %X4CE2E954&lt;BR /&gt;Elf (object/image) checksum: %XA846BF48&lt;BR /&gt;$ checksum/image alphatest&lt;BR /&gt;File DSA5:[GILLINGS_J]ALPHATEST.EXE;1&lt;BR /&gt;%CKSM-W-NOTELF, not an Elf object/image file&lt;BR /&gt;$ checksum/image/alpha alphatest&lt;BR /&gt;file DSA5:[GILLINGS_J]ALPHATEST.EXE;1&lt;BR /&gt;image section %D'1' checksum is %X'200D1419'&lt;BR /&gt;image section %D'2' checksum is %X'010C0305'&lt;BR /&gt;image section %D'3' checksum is %X'B1C4C909'&lt;BR /&gt;image section %D'4' checksum is %X'585945C2'&lt;BR /&gt;image header checksum is %X'00000019'&lt;BR /&gt;checksum of all image sections is %X'C89C9BD7'&lt;BR /&gt;&lt;BR /&gt;  If there's a bug here, it's that CHECKSUM allows the architecture qualifiers without /IMAGE. I've attached a CHECKSUM.CLD with the additional constraint:&lt;BR /&gt;&lt;BR /&gt;DISALLOW ((alpha or i64) AND NOT (image or object))&lt;BR /&gt;&lt;BR /&gt;If you use this CLD, the command CHECKSUM/ALPHA (without including /IMAGE) will result in:&lt;BR /&gt;&lt;BR /&gt;$ checksum/alpha  alphatest.exe&lt;BR /&gt;%DCL-W-CONFLICT, illegal combination of command elements - check documentation&lt;BR /&gt; \ALPHA\&lt;BR /&gt;&lt;BR /&gt;Reading further, it may be slightly more correct to change the constraints to:&lt;BR /&gt;&lt;BR /&gt;DISALLOW ALPHA AND NOT IMAGE&lt;BR /&gt;DISALLOW I64 AND NOT (IMAGE OR OBJECT)&lt;BR /&gt;</description>
    <pubDate>Mon, 16 Feb 2009 01:05:03 GMT</pubDate>
    <dc:creator>John Gillings</dc:creator>
    <dc:date>2009-02-16T01:05:03Z</dc:date>
    <item>
      <title>DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157148#M26363</link>
      <description>&lt;!--!*#--&gt;Has anyone seen this one...?&lt;BR /&gt;&lt;BR /&gt;Beginning with VMS V8.2, CHECKSUM is now documented, and has switches /ALPHA and /I64.   Default is documented in the HELP as being /ALPHA on an ALPHA.&lt;BR /&gt;&lt;BR /&gt;Try executing the following:&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$ arch = f$getsyi("ARCH_NAME")&lt;BR /&gt;$ sho sym arch&lt;BR /&gt;$&lt;BR /&gt;$ open/write checksum_test file_created_by_dcl.txt&lt;BR /&gt;$ write checksum_test "Testing Checksum"&lt;BR /&gt;$ close checksum_test&lt;BR /&gt;$!&lt;BR /&gt;$ checksum file_created_by_dcl.txt&lt;BR /&gt;$ write sys$output -&lt;BR /&gt;        "Checksum with no architecture specified is ''checksum$checksum'""&lt;BR /&gt;$!&lt;BR /&gt;$ checksum/alpha file_created_by_dcl.txt&lt;BR /&gt;$ write sys$output "Checksum with /ALPHA is ''checksum$checksum'""&lt;BR /&gt;$!&lt;BR /&gt;$ checksum/i64 file_created_by_dcl.txt&lt;BR /&gt;$ write sys$output "Checksum with /I64 is ''checksum$checksum'""&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;$ @checksum_test&lt;BR /&gt;  ARCH = "Alpha"&lt;BR /&gt;Checksum with no architecture specified is 269859666"&lt;BR /&gt;Checksum with /ALPHA is 1510215701"&lt;BR /&gt;Checksum with /I64 is 269859666"&lt;BR /&gt;&lt;BR /&gt;Even though I am running this on an Alpha, the CHECKSUM utility is defaulting to /I64</description>
      <pubDate>Sun, 15 Feb 2009 22:24:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157148#M26363</guid>
      <dc:creator>Benjamin Levy</dc:creator>
      <dc:date>2009-02-15T22:24:48Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157149#M26364</link>
      <description>Hi Ben,&lt;BR /&gt;&lt;BR /&gt;Not for one to experience VMS on IA64, but have gone through VAX and Alpha migrations some years ago.&lt;BR /&gt;&lt;BR /&gt;One would normally have to put a little logic into the DCL. Either say&lt;BR /&gt;&lt;BR /&gt;$if f$getsyi("ARCH_NAME") .eqs. "Alpha" then&lt;BR /&gt;$   checksum/alpha&lt;BR /&gt;$else&lt;BR /&gt;$   checksum/i64&lt;BR /&gt;$endif&lt;BR /&gt;&lt;BR /&gt;or depending upon output of ARCH_NAME one may get away with &lt;BR /&gt;&lt;BR /&gt;$checksum/'f$getsyi("ARCH_NAME")'&lt;BR /&gt;&lt;BR /&gt;It is probably better to set up a variable at top for Arch type. This way you can have scripts set to run in mixed-clusters, and thus reduce the need to keep two sets of scripts up to date.&lt;BR /&gt;&lt;BR /&gt;Robert.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Feb 2009 00:05:58 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157149#M26364</guid>
      <dc:creator>Robert Walker_8</dc:creator>
      <dc:date>2009-02-16T00:05:58Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157150#M26365</link>
      <description>Ben,&lt;BR /&gt;&lt;BR /&gt;  /IA64 and /ALPHA are only relevant with /IMAGE. They're used to calculate image checksums for the "other" architecture. See HELP CHECK/ALPHA and HELP CHECK/I64&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I'm not sure why you're seeing a difference in the calculated checksums. Here's an example, on the same file (an Alpha image)&lt;BR /&gt;&lt;BR /&gt;From Alpha:&lt;BR /&gt;$ checksum  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/alpha  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/i64  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;&lt;BR /&gt;From I64&lt;BR /&gt;$ checksum  alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/i64 alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;$ checksum/alpha alphatest.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "2823409345"&lt;BR /&gt;&lt;BR /&gt;Similarly, executing against an I64 image&lt;BR /&gt;&lt;BR /&gt;From Alpha:&lt;BR /&gt; $ checksum i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/alpha i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/i64 i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt; &lt;BR /&gt;From I64:&lt;BR /&gt;$ checksum i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/alpha i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;$ checksum/i64 i64test.exe&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1570401477"&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Using your test, I get consistent results on I64, but not on Alpha (same as your Alpha results)&lt;BR /&gt;&lt;BR /&gt;Alpha:&lt;BR /&gt;$ checksum file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "269859666"&lt;BR /&gt;$ checksum/alpha file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ checksum/i64 file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "269859666"&lt;BR /&gt;&lt;BR /&gt;I64&lt;BR /&gt;$ checksum file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ checksum/alpha file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ checksum/i64 file_created_by_dcl.txt&lt;BR /&gt;$ show sym checksum$checksum&lt;BR /&gt;  CHECKSUM$CHECKSUM = "1510215701"&lt;BR /&gt;$ dir/full file_created_by_dcl.txt&lt;BR /&gt;&lt;BR /&gt;I suspect this may have something to do with the file being VFC&lt;BR /&gt;&lt;BR /&gt;When used for its intended purpose, the architecture qualifiers appear to work correctly:&lt;BR /&gt;&lt;BR /&gt;Alpha:&lt;BR /&gt;&lt;BR /&gt;$ checksum/image alphatest.exe&lt;BR /&gt;file DSA1:[GILLINGS]ALPHATEST.EXE;1&lt;BR /&gt;image section %D'1' checksum is %X'200D1419'&lt;BR /&gt;image section %D'2' checksum is %X'010C0305'&lt;BR /&gt;image section %D'3' checksum is %X'B1C4C909'&lt;BR /&gt;image section %D'4' checksum is %X'585945C2'&lt;BR /&gt;image header checksum is %X'00000019'&lt;BR /&gt;checksum of all image sections is %X'C89C9BD7'&lt;BR /&gt;$ checksum/image i64test.exe&lt;BR /&gt;file DSA1:[GILLINGS]I64TEST.EXE;1&lt;BR /&gt;%IMGACT-F-NOTNATIVE, image is not an OpenVMS Alpha image&lt;BR /&gt;$ checksum/image/i64 i64test.exe&lt;BR /&gt;File DSA1:[GILLINGS]I64TEST.EXE;1&lt;BR /&gt;Checksum program segment 0: %XB8350076&lt;BR /&gt;Checksum program segment 1: %X22C8DC48&lt;BR /&gt;Checksum program segment 2: %XE316BCEE&lt;BR /&gt;Checksum program segment 3: %X967AAF38&lt;BR /&gt;Checksum dynamic segment %X9991F29D&lt;BR /&gt;Elf header checksum: %XB27563D0&lt;BR /&gt;Elf program header checksum: %X59BCEBA7&lt;BR /&gt;Elf section header checksum: %X4CE2E954&lt;BR /&gt;Elf (object/image) checksum: %XA846BF48&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I64:&lt;BR /&gt;$ checksum/image i64test.exe&lt;BR /&gt;File DSA5:[GILLINGS_J]I64TEST.EXE;1&lt;BR /&gt;Checksum program segment 0: %XB8350076&lt;BR /&gt;Checksum program segment 1: %X22C8DC48&lt;BR /&gt;Checksum program segment 2: %XE316BCEE&lt;BR /&gt;Checksum program segment 3: %X967AAF38&lt;BR /&gt;Checksum dynamic segment %X9991F29D&lt;BR /&gt;Elf header checksum: %XB27563D0&lt;BR /&gt;Elf program header checksum: %X59BCEBA7&lt;BR /&gt;Elf section header checksum: %X4CE2E954&lt;BR /&gt;Elf (object/image) checksum: %XA846BF48&lt;BR /&gt;$ checksum/image alphatest&lt;BR /&gt;File DSA5:[GILLINGS_J]ALPHATEST.EXE;1&lt;BR /&gt;%CKSM-W-NOTELF, not an Elf object/image file&lt;BR /&gt;$ checksum/image/alpha alphatest&lt;BR /&gt;file DSA5:[GILLINGS_J]ALPHATEST.EXE;1&lt;BR /&gt;image section %D'1' checksum is %X'200D1419'&lt;BR /&gt;image section %D'2' checksum is %X'010C0305'&lt;BR /&gt;image section %D'3' checksum is %X'B1C4C909'&lt;BR /&gt;image section %D'4' checksum is %X'585945C2'&lt;BR /&gt;image header checksum is %X'00000019'&lt;BR /&gt;checksum of all image sections is %X'C89C9BD7'&lt;BR /&gt;&lt;BR /&gt;  If there's a bug here, it's that CHECKSUM allows the architecture qualifiers without /IMAGE. I've attached a CHECKSUM.CLD with the additional constraint:&lt;BR /&gt;&lt;BR /&gt;DISALLOW ((alpha or i64) AND NOT (image or object))&lt;BR /&gt;&lt;BR /&gt;If you use this CLD, the command CHECKSUM/ALPHA (without including /IMAGE) will result in:&lt;BR /&gt;&lt;BR /&gt;$ checksum/alpha  alphatest.exe&lt;BR /&gt;%DCL-W-CONFLICT, illegal combination of command elements - check documentation&lt;BR /&gt; \ALPHA\&lt;BR /&gt;&lt;BR /&gt;Reading further, it may be slightly more correct to change the constraints to:&lt;BR /&gt;&lt;BR /&gt;DISALLOW ALPHA AND NOT IMAGE&lt;BR /&gt;DISALLOW I64 AND NOT (IMAGE OR OBJECT)&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Feb 2009 01:05:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157150#M26365</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2009-02-16T01:05:03Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157151#M26366</link>
      <description>There is, in my opinion, a bug here.&lt;BR /&gt;&lt;BR /&gt;If I take a command file on Alpha V7.3-2 with CHECKSUM, without qualifiers, and run it on a file in VFC format, and then do exactly the same thing on Alpha V8.3, the checksums do not match even though the file is identical.   In theory HP could say this isn't a bug because CHECKSUM wasn't supported on V7.3-2, but I think that is a stretch - when they started supporting it on V8.2 they attempted to make it backwards compatible with the previous undocumented feature.&lt;BR /&gt;&lt;BR /&gt;I have procedures that check that files on various nodes have the same checksum, and these procedures no longer work.   It will be necessary to add vms-version specific logic to these procedures, to perform CHECKSUM on VMS V7.x and CHECKSUM/I64 on VMS V8.x.&lt;BR /&gt;&lt;BR /&gt;I agree that the /ALPHA and /I64 should only be necessary when analyzing images, unfortunately that is not the case - my procedures which are not looking at images, will not work without /ALPHA added.&lt;BR /&gt;&lt;BR /&gt;Interestingly, on Alpha V8.3, if I type CHECKSUM filename and specify a file in VFC format, it does not even invoke CHECKSUM.EXE, but rather I64_CHECKSUM.EXE.   This makes me wonder if the underlying bug is in the CLD tables.</description>
      <pubDate>Mon, 16 Feb 2009 03:45:03 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157151#M26366</guid>
      <dc:creator>Benjamin Levy</dc:creator>
      <dc:date>2009-02-16T03:45:03Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157152#M26367</link>
      <description>&lt;!--!*#--&gt;Ben,&lt;BR /&gt;&lt;BR /&gt;  The CLDs are all in SYS$UPDATE. If you think the problem is there, you can experiment yourself. If you find a fix, send it back to HP.&lt;BR /&gt;&lt;BR /&gt;  The significant differences between them are:&lt;BR /&gt;&lt;BR /&gt; $ diff IA64_CHECKSUM.CLD,alpha_checksum.cld /para/ignore=(comment,trail,form,blank)/comment="!"&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;File DSA1:[GILLINGS]IA64_CHECKSUM.CLD;1                          |  File DSA1:[GILLINGS]ALPHA_CHECKSUM.CLD;1&lt;BR /&gt;-------------------------------- 49 -------------------------------------------------------------- 55 -----------------------------&lt;BR /&gt;DEFINE  SYNTAX  alpha_checksum                                   |  DEFINE SYNTAX ALPHA_CHECKSUM&lt;BR /&gt;        image   alpha_checksum                                   |          image checksum&lt;BR /&gt;DEFINE  SYNTAX  i64_checksum                                     |  DEFINE SYNTAX I64_CHECKSUM&lt;BR /&gt;        image   checksum                                         |          image i64_checksum&lt;BR /&gt;DEFINE VERB checksum                                             |  DEFINE VERB CHECKSUM&lt;BR /&gt;        IMAGE checksum                                           |          image i64_checksum&lt;BR /&gt;-------------------------------- 62 -------------------------------------------------------------- 68 -----------------------------&lt;BR /&gt;        QUALIFIER image                                          |          QUALIFIER image, syntax=alpha_checksum&lt;BR /&gt;-------------------------------- 71 -------------------------------------------------------------- 77 -----------------------------&lt;BR /&gt;        DISALLOW ANY2 (alpha, vax)                               |          DISALLOW ANY2 (alpha, vax, i64)&lt;BR /&gt;        DISALLOW ANY2 (file, image, object)                      |          DISALLOW ANY2 (file, image, object)&lt;BR /&gt;        DISALLOW (algorithm AND (image OR object))               |          DISALLOW (algorithm AND (image OR object))&lt;BR /&gt;        DISALLOW (object AND (alpha OR vax))                     |          DISALLOW (algorithm AND (alpha OR vax))&lt;BR /&gt;        DISALLOW (show AND (alpha OR vax))                       |          DISALLOW (object AND (alpha OR vax))&lt;BR /&gt;        DISALLOW (file AND ( headers OR segments OR sections OR  |          DISALLOW (show AND (alpha OR vax))&lt;BR /&gt;        DISALLOW (object AND segments )                          |          DISALLOW (file AND ( headers OR segments OR sections OR&lt;BR /&gt;                                                                 |          DISALLOW (object AND segments )&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;&lt;BR /&gt;Number of difference sections found: 3&lt;BR /&gt;Number of difference records found: 15&lt;BR /&gt;&lt;BR /&gt;DIFFERENCES /IGNORE=(TRAILING_SPACES,FORM_FEEDS,COMMENTS,BLANK_LINES)/COMMENT_DELIMITERS=(EXCLAMATION)/PARALLEL-&lt;BR /&gt;    DSA1:[GILLINGS]IA64_CHECKSUM.CLD;1-&lt;BR /&gt;    DSA1:[GILLINGS]ALPHA_CHECKSUM.CLD;1&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Feb 2009 04:11:54 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157152#M26367</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2009-02-16T04:11:54Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157153#M26368</link>
      <description>Apologies for the mangling ITRC has done the the DIFF output.&lt;BR /&gt;&lt;BR /&gt;Please check your results after CONVERTing your VFC files to VAR and/or STREAM_LF. I seem to recall CHECKSUM having trouble with VFC's in the past.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Feb 2009 04:14:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157153#M26368</guid>
      <dc:creator>John Gillings</dc:creator>
      <dc:date>2009-02-16T04:14:48Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157154#M26369</link>
      <description>It's a bug.&lt;BR /&gt;&lt;BR /&gt;The I64 version is written in C and uses C I/O routines. The CRTL when reading VFC files includes the control field in the returned data. That obviously changes the checksum. If you convert your file to VAR you will see identical checksums and they are 1510215701. &lt;BR /&gt;&lt;BR /&gt;This is fixed in 8.3-1H1, but that doesn't help you on Alpha. If you want that fixed in supported Alpha versions, please contact HP.&lt;BR /&gt;&lt;BR /&gt;As a workaround it help you to force the activation of the Alpha image by&lt;BR /&gt;$ define/user i64_checksum checksum&lt;BR /&gt;&lt;BR /&gt;I don't want to argue about including the VFC into a checksum or not: Alpha doesn't, so you want to have the compatibility. The XOR algorithm is called a data checksum. It operates only on the data read in with record I/O. You may want to use one of the file checksums, CRC or MD5, which work on all bytes of the file. The MD5 or CRC checksums are known to produce better (in terms of uniqueness) checksums as XOR.&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Feb 2009 11:18:23 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157154#M26369</guid>
      <dc:creator>x2084</dc:creator>
      <dc:date>2009-02-16T11:18:23Z</dc:date>
    </item>
    <item>
      <title>Re: DCL CHECKSUM sometimes doesn't select correct architecture</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157155#M26370</link>
      <description>Thanks to all the responders.&lt;BR /&gt;&lt;BR /&gt;I now clearly understand that this is a bug, and that I either need to work around it or escalate to HP for a fix.&lt;BR /&gt;&lt;BR /&gt;Given the relatively moderate number of command files I would need to edit, I plan to work around this problem by editing the command files.&lt;BR /&gt;&lt;BR /&gt;Converting to use CRC or MD5 checksums clearly has some advantages, but is not at present an option since it would not work on VMS V7.3-2, and it would require a time-intensive conversion of my data files which presently hold decimal checksum values.   Same problem applies to conversion of the files from VFC to VAR.&lt;BR /&gt;&lt;BR /&gt;My most likely edit would be to use F$GETSYI to determine the architecture, and then &lt;BR /&gt;  $ define/user 'arch'_checksum checksum &lt;BR /&gt;this would seem to be compatible with all versions and architectures and allow compatibility forward and backward.</description>
      <pubDate>Tue, 17 Feb 2009 22:02:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/dcl-checksum-sometimes-doesn-t-select-correct-architecture/m-p/5157155#M26370</guid>
      <dc:creator>Benjamin Levy</dc:creator>
      <dc:date>2009-02-17T22:02:39Z</dc:date>
    </item>
  </channel>
</rss>

