Today is Thursday 27-JUL-2006, time is 12:47 Welcome to AlphaServer DS25 ROS2, VMS version V7.3-1 ros2=> ros2=> ! We want to see if the test program is still ros2=> ! up to date ros2=> ! ros2=> set default [.tmp39] ros2=> ros2=> direc\/date=(c,m) Directory USERS$ROOT:[QKCL.tmp39] descrip.mms;2 27-JUL-2006 12:35:43.00 27-JUL-2006 12:35:43.01 test.c;3 27-JUL-2006 12:38:38.38 27-JUL-2006 12:44:47.62 test.exe_Alpha;2 27-JUL-2006 12:42:42.58 27-JUL-2006 12:42:42.59 TEST.EXE_VAX;1 27-JUL-2006 12:41:18.43 27-JUL-2006 12:41:18.49 test.obj_Alpha;2 27-JUL-2006 12:42:41.97 27-JUL-2006 12:42:42.18 TEST.OBJ_VAX;1 27-JUL-2006 12:41:16.34 27-JUL-2006 12:41:17.43 Total of 6 files. ros2=> ros2=> ! ros2=> ! According to the 'modification date' the source file ros2=> ! test.c is newer than the object and the executable for Alpha, ros2=> ! and newer than the object and the executable for VAX. ros2=> ! It should be rebuild on both platforms. ros2=> ! ros2=> ros2=> type descrip.mms test : test.exe_$(MMSARCH_NAME) @ ! test.exe_$(MMSARCH_NAME) : test.obj_$(MMSARCH_NAME) link /exec = test.exe_$(MMSARCH_NAME) test.obj_$(MMSARCH_NAME) test.obj_$(MMSARCH_NAME) : test.c cc /object = test.obj_$(MMSARCH_NAME) test.c ros2=> ros2=> ! Invoke MMS, and lo the object & executable are rebuild ros2=> ! on Alpha. ros2=> ! ros2=> mms cc /object = test.obj_Alpha test.c link /exec = test.exe_Alpha test.obj_Alpha ros2=> ros2=> ros2=> pu/lo %PURGE-I-FILPURG, USERS$ROOT:[QKCL.tmp39]test.exe_Alpha;2 deleted (37 blocks) %PURGE-I-FILPURG, USERS$ROOT:[QKCL.tmp39]test.obj_Alpha;2 deleted (37 blocks) %PURGE-I-TOTAL, 2 files deleted (74 blocks) ros2=> ros2=> direc\/date=(c,m) Directory USERS$ROOT:[QKCL.tmp39] descrip.mms;2 27-JUL-2006 12:35:43.00 27-JUL-2006 12:35:43.01 test.c;3 27-JUL-2006 12:38:38.38 27-JUL-2006 12:44:47.62 test.exe_Alpha;3 27-JUL-2006 12:48:50.27 27-JUL-2006 12:48:50.27 TEST.EXE_VAX;1 27-JUL-2006 12:41:18.43 27-JUL-2006 12:41:18.49 test.obj_Alpha;3 27-JUL-2006 12:48:49.81 27-JUL-2006 12:48:50.02 TEST.OBJ_VAX;1 27-JUL-2006 12:41:16.34 27-JUL-2006 12:41:17.43 Total of 6 files. ros2=> ros2=> ! ros2=> ! Now transfer the stuff to a VAX. ros2=> ! We want to do the same thing there. ros2=> ! ros2=> ros2=> backup/log *.* vms02::tmp39.bck/save %BACKUP-S-COPIED, copied USERS$ROOT:[QKCL.tmp39]descrip.mms;2 %BACKUP-S-COPIED, copied USERS$ROOT:[QKCL.tmp39]test.c;3 %BACKUP-S-COPIED, copied USERS$ROOT:[QKCL.tmp39]test.exe_Alpha;3 %BACKUP-S-COPIED, copied USERS$ROOT:[QKCL.tmp39]TEST.EXE_VAX;1 %BACKUP-S-COPIED, copied USERS$ROOT:[QKCL.tmp39]test.obj_Alpha;3 %BACKUP-S-COPIED, copied USERS$ROOT:[QKCL.tmp39]TEST.OBJ_VAX;1 ros2=> ros2=> ! ros2=> ! Go to the VAX ros2=> ros2=> set host vms02 Username: qkcl Password: Last interactive login on Thursday, 27-JUL-2006 10:34 Last non-interactive login on Thursday, 27-JUL-2006 12:49 Today is Thursday 27-JUL-2006, time is 12:50 Welcome to VAXstation 4000-90A VMS02, VMS version V7.2 vms02=> vms02=> vms02=> direc *.bck Directory USERS$ROOT:[QKCL] OSU.BCK;1 11592/11592 27-JUL-2006 11:47:08.76 TMP39.BCK;1 126/126 27-JUL-2006 12:49:25.23 Total of 2 files, 11718/11718 blocks. vms02=> vms02=> vms02=> backup/log TMP39.BCK/save [*...]/by_own=qkcl %BACKUP-S-CREATED, created USERS$ROOT:[QKCL.TMP39]DESCRIP.MMS;2 %BACKUP-S-CREATED, created USERS$ROOT:[QKCL.TMP39]TEST.C;3 %BACKUP-S-CREATED, created USERS$ROOT:[QKCL.TMP39]TEST.EXE_ALPHA;3 %BACKUP-S-CREATED, created USERS$ROOT:[QKCL.TMP39]TEST.EXE_VAX;1 %BACKUP-S-CREATED, created USERS$ROOT:[QKCL.TMP39]TEST.OBJ_ALPHA;3 %BACKUP-S-CREATED, created USERS$ROOT:[QKCL.TMP39]TEST.OBJ_VAX;1 vms02=> vms02=> vms02=> set default [.tmp39] vms02=> vms02=> vms02=> mms vms02=> vms02=> ! It doesn't build. Why? vms02=> vms02=> vms02=> direc\/date=(c,m) Directory USERS$ROOT:[QKCL.TMP39] DESCRIP.MMS;2 27-JUL-2006 12:35:43.00 27-JUL-2006 12:35:43.00 TEST.C;3 27-JUL-2006 12:38:38.38 27-JUL-2006 12:38:38.43 TEST.EXE_ALPHA;3 27-JUL-2006 12:48:50.27 27-JUL-2006 12:48:50.27 TEST.EXE_VAX;1 27-JUL-2006 12:41:18.43 27-JUL-2006 12:41:18.49 TEST.OBJ_ALPHA;3 27-JUL-2006 12:48:49.81 27-JUL-2006 12:48:49.81 TEST.OBJ_VAX;1 27-JUL-2006 12:41:16.34 27-JUL-2006 12:41:17.43 Total of 6 files. vms02=> vms02=> vms02=> ! Mark the 'modification date'. It differs vms02=> ! by 6 minutes with the one observed on Alpha. vms02=> vms02=> vms02=> dump/head test.c Dump of file USERS$ROOT:[QKCL.TMP39]TEST.C;3 on 27-JUL-2006 12:53:06.74 File ID (18935,4,0) End of file block 1 / Allocated 45 File Header Header area Identification area offset: 40 Map area offset: 100 Access control area offset: 255 Reserved area offset: 255 Extension segment number: 0 Structure level and version: 2, 1 File identification: (18935,4,0) Extension file identification: (0,0,0) VAX-11 RMS attributes Record type: Variable File organization: Sequential Record attributes: Implied carriage control Record size: 35 Highest block: 45 End of file block: 1 End of file byte: 104 Bucket size: 0 Fixed control area size: 0 Maximum record size: 0 Default extension size: 0 Global buffer count: 0 Directory version limit: 0 File characteristics: Caching attribute: Writethrough Map area words in use: 2 Access mode: 0 File owner UIC: [QKCL] File protection: S:, O:RWED, G:, W: Back link file identification: (19037,3,0) Journal control flags: Active recovery units: None Highest block written: 45 Client attributes: None Identification area File name: TEST.C;3 Revision number: 2 Creation date: 27-JUL-2006 12:38:38.38 Revision date: 27-JUL-2006 12:38:38.43 Expiration date: Backup date: Map area Retrieval pointers Count: 45 LBN: 2490741 Checksum: 3995 Dump of file USERS$ROOT:[QKCL.TMP39]TEST.C;3 on 27-JUL-2006 12:53:06.74 File ID (18935,4,0) End of file block 1 / Allocated 45 Virtual block number 1 (00000001), 512 (0200) bytes 6E69616D 20746E69 00230000 3E682E6F 69647473 3C206564 756C636E 69230012 ..#include ..#.int main 000000 007B0001 0029205D 5B766772 612A2072 61686320 2C636772 6120746E 69202820 ( int argc, char *argv[] )...{. 000020 222E6D61 72676F72 70207473 65546E5C 22202820 66746E69 72702020 20200021 !. printf ( "\nTest program." 000040 00000000 00000000 00000000 00000000 00000000 0000FFFF 007D0001 003B2920 );...}......................... 000060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000080 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000120 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000140 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000160 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000180 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001E0 vms02=> vms02=> vms02=> write sys$output f$file("test.c","RDT") 27-JUL-2006 12:38:38.43 vms02=> vms02=> vms02=> ! Back to the Alpha. vms02=> vms02=> eoj QKCL logged out at 27-JUL-2006 12:53:43.21 %REM-S-END, control returned to node LOCAL:.ROS2:: ros2=> ros2=> ros2=> ros2=> ros2=> dump/head test.c Dump of file USERS$ROOT:[QKCL.tmp39]test.c;3 on 27-JUL-2006 12:53:51.70 File ID (43173,4,0) End of file block 1 / Allocated 37 File Header Header area Identification area offset: 40 Map area offset: 100 Access control area offset: 255 Reserved area offset: 255 Extension segment number: 0 Structure level and version: 5, 1 File identification: (43173,4,0) Extension file identification: (0,0,0) VAX-11 RMS attributes Record type: Variable File organization: Sequential Record attributes: Implied carriage control Record size: 35 Highest block: 37 End of file block: 1 End of file byte: 104 Bucket size: 0 Fixed control area size: 0 Maximum record size: 0 Default extension size: 0 Global buffer count: 0 Directory version limit: 0 File characteristics: Caching attribute: Writethrough Map area words in use: 2 Access mode: 0 File owner UIC: [QKCL] File protection: S:, O:RWED, G:, W: Back link file identification: (41749,20,0) Journal control flags: Active recovery units: None File entry linkcount: 0 Highest block written: 37 Client attributes: None Identification area File name type: ODS-2 File name length: 8 File name: test.c;3 Revision number: 2 Creation date: 27-JUL-2006 12:38:38.38 Revision date: 27-JUL-2006 12:38:38.43 Expiration date: Backup date: Last access date: 27-JUL-2006 12:42:21.22 Last attribute change date: 27-JUL-2006 12:44:47.62 Extended RMS record attributes: File length hints Record count: 0 (Invalidated) Data byte count: 0 (Invalidated) Map area Retrieval pointers Count: 37 LBN: 836089 Dump of file USERS$ROOT:[QKCL.tmp39]test.c;3 on 27-JUL-2006 12:53:51.70 File ID (43173,4,0) End of file block 1 / Allocated 37 Checksum: 48847 Dump of file USERS$ROOT:[QKCL.tmp39]test.c;3 on 27-JUL-2006 12:53:51.70 File ID (43173,4,0) End of file block 1 / Allocated 37 Virtual block number 1 (00000001), 512 (0200) bytes 6E69616D 20746E69 00230000 3E682E6F 69647473 3C206564 756C636E 69230012 ..#include ..#.int main 000000 007B0001 0029205D 5B766772 612A2072 61686320 2C636772 6120746E 69202820 ( int argc, char *argv[] )...{. 000020 222E6D61 72676F72 70207473 65546E5C 22202820 66746E69 72702020 20200021 !. printf ( "\nTest program." 000040 00000000 00000000 00000000 00000000 00000000 0000FFFF 007D0001 003B2920 );...}......................... 000060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000080 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0000E0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000100 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000120 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000140 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000160 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 000180 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001A0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001C0 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ................................ 0001E0 ros2=> ros2=> ros2=> ros2=> write sys$output f$file("test.c","RDT") 27-JUL-2006 12:44:47.62 ros2=> ros2=> ! Now, since we're on an ODS-5 disk, the 'revision date' ros2=> ! reported by f$file is actually the ros2=> ! "Last attribute change date" ros2=> ! This is also the date reported by ros2=> ! DIRECTORY/DATE=MODIFIED. ros2=> ! ros2=> ros2=> ros2=> direc\/date=(c,m) Directory USERS$ROOT:[QKCL.tmp39] descrip.mms;2 27-JUL-2006 12:35:43.00 27-JUL-2006 12:35:43.01 test.c;3 27-JUL-2006 12:38:38.38 27-JUL-2006 12:44:47.62 test.exe_Alpha;3 27-JUL-2006 12:48:50.27 27-JUL-2006 12:48:50.27 TEST.EXE_VAX;1 27-JUL-2006 12:41:18.43 27-JUL-2006 12:41:18.49 test.obj_Alpha;3 27-JUL-2006 12:48:49.81 27-JUL-2006 12:48:50.02 TEST.OBJ_VAX;1 27-JUL-2006 12:41:16.34 27-JUL-2006 12:41:17.43 Total of 6 files. ros2=> ros2=> ros2=> ! Now try this on Alpha on an ODS-2 disk. ros2=> ros2=> ros2=> sh dev /full disk2 Disk $1$DGA102: (ROS2), device type COMPAQ MSA1000 VOLUME, is online, mounted, file-oriented device, shareable, device has multiple I/O paths, served to cluster via MSCP Server, error logging is enabled. Error count 0 Operations completed 16692478 Owner process "" Owner UIC [SYSTEM] Owner process ID 00000000 Dev Prot S:RWPL,O:RWPL,G:R,W Reference count 2 Default buffer size 512 Current preferred CPU Id 1 Fastpath 1 WWID 01000010:6008-05F3-000F-EB50-0000-0000-C097-000A Total blocks 2088450 Sectors per track 113 Total cylinders 925 Tracks per cylinder 20 Host name "ROS2" Host type, avail AlphaServer DS25, yes Alternate host name "ROS1" Alt. type, avail AlphaServer DS25, yes Allocation class 1 Volume label "ROSDSK2" Relative volume number 0 Cluster size 3 Transaction count 2 Free blocks 2036730 Maximum files allowed 261056 Extend quantity 5 Mount count 2 Mount status System Cache name "_DSA0:XQPCACHE" Extent cache size 64 Maximum blocks in extent cache 203673 File ID cache size 64 Blocks in extent cache 0 Quota cache size 0 Maximum buffers in FCP cache 3524 Volume owner UIC [1,1] Vol Prot S:RWCD,O:RWCD,G:RWCD,W:RWCD Volume Status: ODS-2, subject to mount verification, write-back caching enabled. Volume is also mounted on ROS1. I/O paths to device 3 Path PGA0.5008-05F3-000F-EB51 (ROS2), primary path, current path. Error count 0 Operations completed 16692478 Path PGB0.5008-05F3-000F-EB59 (ROS2). Error count 0 Operations completed 0 Path MSCP (ROS1). Error count 0 Operations completed 0 ros2=> ros2=> ros2=> copy/log vms02::tmp39.bck disk2:[000000] %COPY-S-COPIED, VMS02::USERS$ROOT:[QKCL]TMP39.BCK;1 copied to DISK2:[000000]TMP39.BCK;1 (126 blocks) ros2=> ros2=> ros2=> set default disk2:[000000] ros2=> ros2=> ros2=> direc *.bck Directory DISK2:[000000] TMP39.BCK;1 126/126 27-JUL-2006 12:49:25.23 Total of 1 file, 126/126 blocks. ros2=> ros2=> ros2=> create/dir [tmp39] ros2=> ros2=> ros2=> backup/log tmp39.bck/save [.tmp39] %BACKUP-S-CREATED, created DISK2:[000000.TMP39]DESCRIP.MMS;2 %BACKUP-S-CREATED, created DISK2:[000000.TMP39]TEST.C;3 %BACKUP-S-CREATED, created DISK2:[000000.TMP39]TEST.EXE_ALPHA;3 %BACKUP-S-CREATED, created DISK2:[000000.TMP39]TEST.EXE_VAX;1 %BACKUP-S-CREATED, created DISK2:[000000.TMP39]TEST.OBJ_ALPHA;3 %BACKUP-S-CREATED, created DISK2:[000000.TMP39]TEST.OBJ_VAX;1 ros2=> ros2=> ros2=> set default [.tmp39] ros2=> ros2=> ros2=> direc\/date=(c,m) Directory DISK2:[000000.TMP39] DESCRIP.MMS;2 27-JUL-2006 12:35:43.00 27-JUL-2006 12:35:43.00 TEST.C;3 27-JUL-2006 12:38:38.38 27-JUL-2006 12:38:38.43 TEST.EXE_ALPHA;3 27-JUL-2006 12:48:50.27 27-JUL-2006 12:48:50.27 TEST.EXE_VAX;1 27-JUL-2006 12:41:18.43 27-JUL-2006 12:41:18.49 TEST.OBJ_ALPHA;3 27-JUL-2006 12:48:49.81 27-JUL-2006 12:48:49.81 TEST.OBJ_VAX;1 27-JUL-2006 12:41:16.34 27-JUL-2006 12:41:17.43 Total of 6 files. ros2=> ros2=> ! So if we transfered our original sources first to an ODS-2 ros2=> ! disk, the executable would not have been rebuild. ros2=> ros2=> ros2=> eoj QKCL logged out at 27-JUL-2006 13:25:05.07