As of VMS 5.4, the behaviour of the MACRO assembler has changed with respect to the output of .PRINT commands. Formerly, it would output to SYS$ERROR, while with VMS 5.4, it outputs to SYS$OUTPUT . This implies that the procedures (distributed on INFO-VAX a few times already) which generate "#include" files from LIB.MLB and similar assembler libraries are broken. Workaround: replace the line (shown here for case of .H files) $ define/user SYS$ERROR 'p1'.H by (conditional code for downward compatibility) $ vmsv = f$element(0,".",f$getsyi("version")) ! major version ... $ vmsv = f$extract(1,f$length(vmsv)-1,vmsv) ! ... w/o initial letter $ vmsv2 = f$element(1,".",f$getsyi("version")) ! minor version $ new_macro = (vmsv.eqs."5" .and. vmsv2 .ges."4") .or. vmsv.gts."5" $ if .not.new_macro then - define/user SYS$ERROR 'p1'.H ! pre-5.4 MACRO puts .PRINT output here $ if new_macro then - create 'p1'.H $ if new_macro then - define/user SYS$OUTPUT 'p1'.H ! 5.4 MACRO puts .PRINT output here $ if new_macro then - define/user SYS$ERROR NL: Hope it helps (it did for me) Wolfgang J. Moeller, GWDG, D-3400 Goettingen, F.R.Germany | Disclaimer ... Bitnet/Earn: U0012@DGOGWDG5 Phone: +49 551 201516 | No claim intended