Compiling RTOS PC Port on OpenWatcom error

nobody wrote on Friday, March 16, 2007:

I’m trying to compile the PC demo program that comes with When I make, the linker has errors, the build log is as follows:
cd D:\FreeRTOS\Demo\PC
wmake -f D:\FreeRTOS\Demo\PC\ -h -e D:\FreeRTOS\Demo\PC\rtosdemo.exe
wcc …\…\SOURCE\croutine.c -i=D:\WATCOM\h;…\common\include;…\…\source\include;…\…\source\portable\owatcom\16bitdos\common;. -w4 -e25 -za -dOPEN_WATCOM_INDUSTRIAL_PC_PORT -dUSE_STDIO -j -zq -otexan -s -fpc -zu -1 -bt=dos -ml
Error(E14): Cannot execute (wcc): No such file or directory
Error(E42): Last command making (D:\FreeRTOS\Demo\PC\croutine.obj) returned a bad status
Error(E02): Make execution terminated
Execution complete

It can’t find WCC even though my environment variable ‘path’ include (amongst others):

I’m using XP, OpenWatcom 1.6, FreeRTOS 4.2.0

rtel wrote on Friday, March 16, 2007:

I have only compiled the project using the Open Watcom IDE, never the command line.  However, I do have wcc in in my \WATCOM\binnt directory.

I am using OW V1.4 - could it be that V1.6 has changed the name of the executable?


nobody wrote on Monday, March 19, 2007:

thanks for the reply.
I am compiling with the IDE btw, the error is from the build log.
I only have a file names wcc386.exe in my binnt directory and this seems to be the problem.
I have renamed wcc386.exe to wcc.exe in the same directory. I don’t think this is the correct solution, I think possibly the compiler must have a setting to make it look for wcc386 although I haven’t found it yet. I also had to rename wcc386.dll to wccd.dll.
I also changed my Memory model switches to Pentium (Options->Linker switches->C compiler switches->memory model switches)
Unfortunately it still will not compile as it is looking for libraries in locations that don’t exist. I have a feeling the settings are all incorrect.

nobody wrote on Monday, March 19, 2007:

I should try reinstalling OW.  It sounds to me that you have installed the wrong components.  Maybe just the 32bit components.  You need to the 16bit components.

nobody wrote on Monday, March 19, 2007:

Works!! Now it compiles with no problems, thanks.
When I run the .exe under a DOS window in XP however, I get the following errors:
Exception: 0D, Error code: 02AC

EAX=00000287 EBX=02A60601 ECX=0000027F EDX=000000C7 ESI=000000C7
EDI=00000D28 EBP=02A75D44 ESP=02A75D0C EIP=02A606CA EFL=00013246

CS=027F-FD5A0000 DS=0287-FD5A0000 ES=0287-FD5A0000
FS=0000-xxxxxxxx GS=028F-xxxxxxxx SS=0287-FD5A0000

CR0=00000000 CR2=00000000 CR3=00000000 TR=0000

Info flags=00008018

Writing CW.ERR file…

CauseWay error 09 : Unrecoverable exception. Program terminated.

Is there a simple ‘hello world’ program written out there to start with?

Thanks again,

nobody wrote on Monday, March 19, 2007:

I used wmake from the DOS prompt. Seems to work fine now. This is good as I will be developing under DOS anyway.
Sam (UK)

nobody wrote on Monday, March 19, 2007:

Cool.  Don’t forget the SET NO87=1 environment variable.