I wanted to use the Watcom compiler for Windows, which I had downloaded with release 4.0. I found the compiler in a sub-directory here: euphoria\watcom
I found a batch file, owsetenv.bat, which sets up the environment for Watcom. After running this batch file, I next tried euc, giving me these messages:
G:\My_Program_Files\Euphoria_Test\mbx>euc -con -i G:\My_Program_Files\Euphoria_T est\mbx mbx.ex Build directory: build-986711\ Translating code, pass: 1 2 3 4 5 6 7 generating Compiling with Watcom Compiling 1% init-.c Couldn't compile file 'init-.c' Status: -1 Command: wcc386 /bt=nt /mf /w0 /zq /j /zp4 /fp5 /fpi87 /5r /otimra / s /IG:\My_Program_Files\euphoria init-.c
I had installed Euphoria in a non-standard place, which broke the owsetenv.bat file, which was looking here for its files:
C:\Development\WATCOM-OEBUNDLE
So, I created a new batch file, and fixed the paths, noting that the following line is duplicated:
SET INCLUDE=C:\Development\WATCOM-OEBUNDLE\H\NT;%INCLUDE%
Here is the new batch file I made:
@echo off ECHO . ECHO Open Watcom Build Environment ECHO Modified by Larry Gregg 29-DEC-2010, to point to install location.
ECHO The WATCOM location should be modified before use, and noted in the instructions. SET WATCOM=G:\My_Program_Files\euphoria\watcom
SET PATH=%WATCOM%\BINW;%PATH% SET PATH=%WATCOM%\BINNT;%PATH% SET INCLUDE=%WATCOM%\H\NT;%INCLUDE%
REM Not sure why INCLUDE has a trailing semicolon, but it does. REM So, INCLUDE path has a double ;; but this does not cause a problem. SET INCLUDE=%INCLUDE%;%WATCOM%\H\NT\DIRECTX
SET INCLUDE=%INCLUDE%;%WATCOM%\H\NT\DDK SET INCLUDE=%WATCOM%\H;%INCLUDE% SET EDPATH=%WATCOM%\EDDAT SET WHTMLHELP=%WATCOM%\BINNT\HELP SET WIPFC=%WATCOM%\WIPFC
ECHO . ECHO WATCOM=%WATCOM% ECHO . ECHO PATH=%PATH% ECHO . ECHO INCLUDE=%INCLUDE% ECHO . ECHO EDPATH=%EDPATH% ECHO . ECHO WHTMLHELP=%WHTMLHELP% ECHO . ECHO WIPFC=%WIPFC%
Much of this is not required, but is helpful.
I also modified the setenv.bat file used to set up the Euphoria environment, to use the install location and call the Watcom environment batch file:
SET EUDIR=G:\My_Program_Files\euphoria SET PATH=%EUDIR%\bin;%PATH%
REM Call WATCOM environment setter .bat file. CALL watcom/ow2setenv.bat
Anyway, I don't know if this is really a bug, but it is how I got euc to work.
Thanks, Larry Gregg
Looks valid to me. The installer should be able to run a program that rewrites the batch files, updating them with the location of the actual installation.
This should be a 4.0.1 milestone.
changeset: 4456:25ae6433f7aa branch: 4.0 tag: tip parent: 4454:80d859909346 user: Jeremy Cowgar <jeremy@cowgar.com> date: Sat Jan 01 09:12:15 2011 -0500 files: docs/release/4.0.1.txt packaging/win32/euphoria-ow.iss description: Fixes ticket 575. setenv-ow.bat functionality has been restored. During 4.0.0 ISS merging the non-OW env bat file got included in the OW installer by mistake.
If one had selected "Update Environment" (the default) then the 4.0.0 installer works w/o issue as it does not then rely on the -ow.bat file. the setenv-ow.bat file was intendend to temporarly try 4.0.0 during alpha, beta and rc releases. It really was not intendend to be used in production but I guess it's OK.
Assuming that the environment is corrected in 4.0.1, there is also a warning in the Watcom readme.txt that spaces in the path cause some tools to fail. I am guessing that this is more to do with Watcom than Euphoria, in which case it will not be fixed easily. There should be a warning in a more prominent place, such as the Euphoria Installation section.