Discussion:
A few questions?
(too old to reply)
Byron Blue
2013-09-17 18:51:10 UTC
Permalink
Ok.
I worked this weekend to remove my Watcom 11.0C compiler and replace it with Open Watcom 1.9.
Managed to figure out the setup to use our Scitech MGL libraries and compile without using our present makefile (I'm using the IDE).
I had to make quite a few changes of the code in order for it to compile (rules stuff I guess).
The help menus do not show up in the IDE.
So:
It gives me a number of errors when it compiles the files. Error(08): Invalid macro name () . It still compiles but I would like to know what the error is so I can make corrections.
I was compiling a .asm file with nasm. Is there any way to setup the IDE to follow this?
I’m using DOS/32A as my extender. With it I am able now to see 2.1GB of RAM in the program. I used the SUNSYS Setup Utility to configure the stub. I had to use DOSSHELL/DOSBox to run a batch file to load the .D32 file. Is there a way (once again) to have the compiler do this on it’s own?
Thus far I have little complaints and more compliments for the Open Watcom. We used Watcom xx.xx for many years now and (I must admit) I was hesitant at best to change compilers.
Thanks to all for your kind assistance,

Byron Blue
Hans-Bernhard Bröker
2013-09-19 20:10:08 UTC
Permalink
Post by Byron Blue
I worked this weekend to remove my Watcom 11.0C compiler and replace it
with Open Watcom 1.9.
Why go so far as to remove 11.0? There's really no problem keeping both
installed in parallel. And you would gain some additional possibilities
to analyse problems, by comparing products of both version of the compiler.
Post by Byron Blue
Managed to figure out the setup to use our Scitech MGL libraries and
compile without using our present makefile (I'm using the IDE).
Again: why ditch a working makefile? Changes to that would almost
certainly have been much less work than trying to duplicate their effect
in an IDE configuration.

The Watcom IDE is truly useful only for projects in the medium range of
complexity: too complex for WCL and a batch file, but not quite complex
enough that only make can handle it. Your project appears to have
reached the "make" level a long time. Going back to the IDE is probably
no longer a viable option.
Post by Byron Blue
Invalid macro name ()/ . It still compiles but I would like to know what
the error is so I can make corrections.
That doesn't make the least bit of sense. If there's an error, then
that module does _not_ compile. That's the key distinction between
errors and warnings.

And how do you expect anybody to be able to help you with that error
message if you don't show the slightest hint of context that triggered it?
Post by Byron Blue
I was compiling a .asm file with nasm. Is there any way to setup the IDE to follow this?
There may be one, but you would be wasting your time figuring it out.
Your existing makefile already handled that just fine. So why not keep
using it?
Byron Blue
2013-09-20 12:03:13 UTC
Permalink
Thanks

I own a number of laptops. My initial evaluation of Open Watcom 1.9 was performed on one of them - not on my working system.
The testing of the operating system using this compiled code was flawless: Hence the switch. I am not in the business of evaluating compilers for the sake of curiosity or higher learning - I code for a living.
Setting up the IDE to mimic the original makefile was a minor burden - once this task is complete it is finished. The makefile then becomes recycle bin material. I have since migrated the setup to my working units.
Post by Hans-Bernhard Bröker
That doesn't make the least bit of sense. If there's an error, then
that module does _not_ compile. That's the key distinction between
errors and warnings.
The compiler does indeed flag Invalid macro name as an error (I’ve attached an example log file). Fine – it doesn’t make a bit of sense. It does compile. The fault in this case then lies with the compiler for generating a false message (it’s really a warning?) or not compiling because it sees these errors – it obviously does not recognize key distinctions. Not really my concern. I simply asked the question to see if any of the bright bulbs out there had any helpful ideas.
Post by Hans-Bernhard Bröker
And how do you expect anybody to be able to help you with that error
message if you don't show the slightest hint of context that triggered it?
If you can grasp any hint of the context triggering that error from the attached log file, please feel free to offer a helpful idea.

Thanks to all once again for the assistance,
Byron Blue
Post by Hans-Bernhard Bröker
I worked this weekend to remove my Watcom 11.0C compiler and replace it
with Open Watcom 1.9.
Why go so far as to remove 11.0? There's really no problem keeping both
installed in parallel. And you would gain some additional possibilities
to analyse problems, by comparing products of both version of the compiler.
Post by Hans-Bernhard Bröker
Managed to figure out the setup to use our Scitech MGL libraries and
compile without using our present makefile (I'm using the IDE).
Again: why ditch a working makefile? Changes to that would almost
certainly have been much less work than trying to duplicate their effect
in an IDE configuration.

The Watcom IDE is truly useful only for projects in the medium range of
complexity: too complex for WCL and a batch file, but not quite complex
enough that only make can handle it. Your project appears to have
reached the "make" level a long time. Going back to the IDE is probably
no longer a viable option.
Post by Hans-Bernhard Bröker
Invalid macro name ()/ . It still compiles but I would like to know what
the error is so I can make corrections.
That doesn't make the least bit of sense. If there's an error, then
that module does _not_ compile. That's the key distinction between
errors and warnings.

And how do you expect anybody to be able to help you with that error
message if you don't show the slightest hint of context that triggered it?
Post by Hans-Bernhard Bröker
I was compiling a .asm file with nasm. Is there any way to setup the IDE to follow this?
There may be one, but you would be wasting your time figuring it out.
Your existing makefile already handled that just fine. So why not keep
using it?
Paul S. Person
2013-09-20 16:55:24 UTC
Permalink
On Fri, 20 Sep 2013 08:03:13 -0400, "Byron Blue"
The compiler does indeed flag Invalid macro name as an error (I’ve attached an example log file). Fine – it doesn’t make a bit of sense. It does compile. The fault in this case then lies with the compiler for generating a false message (it’s really a warning?) or not compiling because it sees these errors – it obviously does not recognize key distinctions. Not really my concern. I simply asked the question to see if any of the bright bulbs out there had any helpful ideas.
Post by Hans-Bernhard Bröker
And how do you expect anybody to be able to help you with that error
message if you don't show the slightest hint of context that triggered it?
If you can grasp any hint of the context triggering that error from the attached log file, please feel free to offer a helpful idea.
Actually, it does.

As it happens, wmake has a diagnostic message:

8 Invalid macro name %E

which might well become

Error(E08): Invalid macro name ()

when encountered by wmake.

This is possible because the IDE generates a make file and then feeds
it to wmake. A wmake error, of course, is not, as such, going to stop
the compiler; the compiler has no direct knowledge of wmake errors. It
might stop the make process, but, clearly, not when invoked as wmake
is invoked by the IDE.

This, of course, leads to the question, "how did you get the IDE to
produce a make file with an invalid macro with name '()'?". I don't
actually expect you to be able to answer it, since the whole point of
the IDE is to not have to worry about the contents of the make file,
but providing the make file (C:\Newest_Work\working\Byron.mk) might be
revealing.

You may even have uncovered a bug in the IDE. Stranger things have
happened.

Please be aware that a large contingent of contributors/users are
staunchly anti-IDE and staunchly pro-wmake. And, indeed, it isn't hard
to get to a situation where the IDE approach becomes unwieldy. It's
not as easy as some of the anti-IDE crowd would like to believe,
however.

The wmake documentation (should you wish to peruse it) is carefully
hidden in the oddly-named Tool User's Guide Help file (which, of
course, provides help on the Tools for those using them, not help to a
file called "Tool User's Guide". The diagnostic messages are on a page
called "Open Watcom Make Diagnostic Messages".
--
"Nature must be explained in
her own terms through
the experience of our senses."
Byron Blue
2013-09-20 18:07:42 UTC
Permalink
Thank you Paul

I've attached the two files (Byron.mk pointed to another file - onebuf.mk1
[the name of the executable]).
Nothing is obvious in the files. It would be nice if it gave me a filename,
line number or something as obvious as Invalid Macro Name (poohbah). As I
say I'm really just curious as to the cause of the warning/error. The other
programmers working under me may question it and (of course) I'd look pretty
smart if I could explain why.

As you can see by the make file, the project is really large: The IDE has
not become unwieldy as of this time.

I'm composing under Windows 8 so (for me) the IDE is simply convenient
(Nature abhors a vacuum and Windows abhors DOS windows). I concentrate
solely on code generation to perform the tasks at hand - the path to getting
there is not an issue.

Yes - the Tools User's Guide does show that error but does not give any
explanation or reasoning.

The code produced by the Open Watcom setup seems quite nice (the system
reduced the time to beamform and process 32 channels from 11 to 10uS - a
bonus in the world of real-time operations) when compared to Watcom 11.0c.
Thank you to all who worked so hard on the code to make it so. I haven't
reviewed the source yet but hope to maybe contribute bits in my realm of
knowledge.

Thank you once again Paul (and everyone) for your time and efforts. Much
appreciated.
Have a fine weekend,
Byron Blue

"Paul S. Person" wrote in message news:***@4ax.com...

On Fri, 20 Sep 2013 08:03:13 -0400, "Byron Blue"
Post by Byron Blue
The compiler does indeed flag Invalid macro name as an error (I’ve attached
an example log file). Fine – it doesn’t make a bit of sense. It does
compile. The fault in this case then lies with the compiler for generating
a false message (it’s really a warning?) or not compiling because it sees
these errors – it obviously does not recognize key distinctions. Not really
my concern. I simply asked the question to see if any of the bright bulbs
out there had any helpful ideas.
Post by Hans-Bernhard Bröker
And how do you expect anybody to be able to help you with that error
message if you don't show the slightest hint of context that triggered it?
If you can grasp any hint of the context triggering that error from the
attached log file, please feel free to offer a helpful idea.
Actually, it does.

As it happens, wmake has a diagnostic message:

8 Invalid macro name %E

which might well become

Error(E08): Invalid macro name ()

when encountered by wmake.

This is possible because the IDE generates a make file and then feeds
it to wmake. A wmake error, of course, is not, as such, going to stop
the compiler; the compiler has no direct knowledge of wmake errors. It
might stop the make process, but, clearly, not when invoked as wmake
is invoked by the IDE.

This, of course, leads to the question, "how did you get the IDE to
produce a make file with an invalid macro with name '()'?". I don't
actually expect you to be able to answer it, since the whole point of
the IDE is to not have to worry about the contents of the make file,
but providing the make file (C:\Newest_Work\working\Byron.mk) might be
revealing.

You may even have uncovered a bug in the IDE. Stranger things have
happened.

Please be aware that a large contingent of contributors/users are
staunchly anti-IDE and staunchly pro-wmake. And, indeed, it isn't hard
to get to a situation where the IDE approach becomes unwieldy. It's
not as easy as some of the anti-IDE crowd would like to believe,
however.

The wmake documentation (should you wish to peruse it) is carefully
hidden in the oddly-named Tool User's Guide Help file (which, of
course, provides help on the Tools for those using them, not help to a
file called "Tool User's Guide". The diagnostic messages are on a page
called "Open Watcom Make Diagnostic Messages".
--
"Nature must be explained in
her own terms through
the experience of our senses."
Hans-Bernhard Bröker
2013-09-20 19:11:58 UTC
Permalink
Post by Byron Blue
Nothing is obvious in the files. It would be nice if it gave me a
filename, line number or something as obvious as Invalid Macro Name
(poohbah).
Actually, that's exactly what it did tell you. The problematic macro
name is just what it displayed: an empty string. This occurs multiple
times in your rules' include paths like this:

$/Newest_Work/working/include

That '$' should either not be there, or it should be followed by
something meaningful (to wmake).
Post by Byron Blue
As you can see by the make file, the project is really large: The IDE
has not become unwieldy as of this time.
With all due respect: by no stretch of the imagination is that a "really
large" project. You haven't even reached a three-digit number of .obj
files yet!
Byron Blue
2013-09-20 19:16:50 UTC
Permalink
No reply to that sir.
Post by Byron Blue
Nothing is obvious in the files. It would be nice if it gave me a
filename, line number or something as obvious as Invalid Macro Name
(poohbah).
Actually, that's exactly what it did tell you. The problematic macro
name is just what it displayed: an empty string. This occurs multiple
times in your rules' include paths like this:

$/Newest_Work/working/include

That '$' should either not be there, or it should be followed by
something meaningful (to wmake).
Post by Byron Blue
As you can see by the make file, the project is really large: The IDE
has not become unwieldy as of this time.
With all due respect: by no stretch of the imagination is that a "really
large" project. You haven't even reached a three-digit number of .obj
files yet!
Paul S. Person
2013-09-21 16:55:54 UTC
Permalink
On Fri, 20 Sep 2013 15:16:50 -0400, "Byron Blue"
Post by Byron Blue
No reply to that sir.
Post by Hans-Bernhard Bröker
Actually, that's exactly what it did tell you. The problematic macro
name is just what it displayed: an empty string. This occurs multiple
$/Newest_Work/working/include
That '$' should either not be there, or it should be followed by
something meaningful (to wmake).
You may want to take a look of the Compiler Switches, Include Files
window, and see if the "$" is present. If it is, remove it and see if
that helps.

You may need to replace the "$" with a drive letter or "." or ".." or
something else to make the directory locatable, although possibly not,
since the include path shown appears to work otherwise.

Note: I opened a very old project of mine and found this include
string:

$(%OLDHEADERS);$(%TJCL_3);$(%watcom)\h;$(%watcom)\h\win

Note that the "$" are followed by symbolic names defined elsewhere
(environment variables, IIRC; that is, the cmd file I used to invoke
the IDE set up environment variables to simplify include lines over
multiple Projects).

Note: by "unwieldy" I was referring to a large number of interrelated
Projects and/or to Projects containing a large number of Targets. The
number of modules really doesn't matter, if you have only one Project
(or each Project is completely independent of all the others) with one
Target (per Project, if you have more than one) to add the modules to
and they all take the same switches.

(I want to thank Hans-Bernhard Bröker for identifying the empty
symbol. I certainly would never have seen it, I just don't know wmake
well enough.)
--
"Nature must be explained in
her own terms through
the experience of our senses."
Loading...