Mmmm, not so easy! We try not to break existing code with updates to Nasm, but we broke nagoa+.inc good!
As recently as 2.08.01, it assembles okay. Minor complaint about a label with out a colon. Nearby to the bug in the dos stub...
With 2.09.10, errors are as you show. The out-of-context lookup is easily fixed. The alignment error is still there. I think that's a bug in Nasm, or a misfeature. True, those numbers are not a power of two. Just shut up and align it the way I tell ya! Whatever...
No sense in working with intermediate versions of Nasm... what's 2.10rc8 (which is where the 2.10 series with the new preprocessor is at) have to say? As expected, the out of context lookup fails:
t1.asm:21: error: (LIB:8) expression syntax error
t1.asm:21: error: (ENDM:5) expression syntax error
t1.asm:21: error: comma expected after operand 1
t1.asm:21: error: comma expected after operand 1
t1.asm:21: error: (ENDM:8) `%endrep': no matching `%rep'
t1.asm:21: error: (ENDM:12) expression syntax error
t1.asm:21: error: parser: instruction expected
t1.asm:21: error: (ENDM:15) `%endrep': no matching `%rep'
Okay, fix the out-of context lookup...
nasm: fatal: cannot mix real and virtual attributes in nobits section (.bss)
Interestingly, it doesn't say where this alleged mixing occurs. I haven't found it. I may look more...
I would say, if you wanna use nagoa+.inc, revert to Nasm-2.08.01 (or so) for now. If there's interest in reviving it, we can look at it more - I think it can be fixed, but I'm not sure what's happening right now... As Mathi says, it may not work on modern/future versions of Windows anyway.
Best,
Frank