1. Compile with watcom fails
- Posted by wynco Mar 26, 2012
- 2745 views
I am having trouble compiling with watcom and eu4. It does not matter what program I try to compile. It appears to fail after the linking phase. The comand line I use for compiling the demo ascii.ex is as follows
euc.exe c:\euphoria\ascii.ex
I get the following after the compiling/linking is complete
Linking 100% ..\ascii.exe
Open Watcom Linker Version 1.9
Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Warning! E2008: cannot open c:\euphoria\source.obj : No such file or directory
Unable to link C:\Users\Antonio Dasani\ascii.exe
Status: 1 Command: wlink @ascii.lnk
Warning { translator }:
<0216>:: Watcom should have the H and the H\NT includes at the front of the INCLUDE variable.
The last line makes me wonder if somthing is wrong with the configuration, but watcom is installed in C:\watcom and the INCLUDE variable is set to
C:\watcom\h;C:\watcom\h\nt
Also my eu.cfg is as follows
[all]
-i c:\euphoria\include
-eudir c:\euphoria
[translate]
-com c:\euphoria
-lib c:\euphoria\source
[bind]
-eub c:\euphoria\bin
Anyone have any ideas what might be wrong. I have been using euphoria for several years now but have never tried to translate/compile a program before now so I'm a bit lost.
2. Re: Compile with watcom fails
- Posted by wynco Mar 26, 2012
- 2725 views
Sorry I missed a line in the output it should be
Linking 100% ..\ascii.exe
Open Watcom Linker Version 1.9
Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Warning! W1107: file ascii.lnk: line(23): undefined system name: NT_WIN
Error! E2008: cannot open c:\euphoria\source.obj : No such file or directory
Unable to link C:\Users\Antonio Dasani\ascii.exe
Status: 1 Command: wlink @ascii.lnk
Warning { translator }:
<0216>:: Watcom should have the H and the H\NT includes at the front of the INCLUDE variable.
3. Re: Compile with watcom fails
- Posted by gbonvehi Mar 26, 2012
- 2655 views
Please include Euphoria version (there are many 4.X out there): euc -v
I've the feeling that Watcom was being deprecated as supported from Euphoria, I'll let someone with more inner working answer this.
4. Re: Compile with watcom fails
- Posted by DerekParnell (admin) Mar 26, 2012
- 2663 views
I've the feeling that Watcom was being deprecated as supported from Euphoria ...
Yes it is being deprecated. This is because Watcom does not, and will not be, supporting 64-bit architectures. We use GCC on linux and MingW on Windows.
I uninstalled Watcom some time ago now so I'm not able to help with the exact issue reported.
5. Re: Compile with watcom fails
- Posted by ne1uno Mar 26, 2012
- 2634 views
Linking 100% ..\ascii.exe
Open Watcom Linker Version 1.9
Portions Copyright (c) 1985-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Warning! W1107: file ascii.lnk: line(23): undefined system name: NT_WIN
Error! E2008: cannot open c:\euphoria\source.obj : No such file or directory
Unable to link C:\Users\Antonio Dasani\ascii.exe
Status: 1 Command: wlink @ascii.lnk
Warning { translator }:
<0216>:: Watcom should have the H and the H\NT includes at the front of the INCLUDE variable.
looks like the problem may be space in directory name. for now, remove spaces from all filenames and directories.
the next and later versions of euphoria should handle this better. although watcom is probably no longer actively supported in eu4.1, and much less testing is done, none of the code has been removed. no watcom changes are expected with the 4.0.x versions. that is, you can still build 4.x and translate and watcom (-wat) is still the default.
6. Re: Compile with watcom fails
- Posted by wynco Mar 27, 2012
- 2464 views
- Last edited Mar 28, 2012
I have eu 4.0.3
I downloaded and installed MinGW and tried to compile ascii.ex with the this command line
euc.exe -gcc c:\euphoria\ascii.ex
I got these errors
Build directory: build-377469\\\ Translating code, pass: 1 2 3 4 5 6 7 8 9 10 11 generating\\ Compiling with GCC\\ Compiling 2% init-.c Couldn't compile file 'init-.c' Status: -1 Command: gcc -DEWINDOWS -fomit-frame-pointer -c -w -fsigned-char -02\\ -m32 -Ic:\euphoria -ffast-math -mwindows init-.cany ideas?
7. Re: Compile with watcom fails
- Posted by mattlewis (admin) Mar 28, 2012
- 2453 views
I have eu 4.0.3
I downloaded and installed MinGW and tried to compile ascii.ex with the this command line
euc.exe -gcc c:\euphoria\ascii.ex
I got these errors
Build directory: build-377469\\\ Translating code, pass: 1 2 3 4 5 6 7 8 9 10 11 generating\\ Compiling with GCC\\ Compiling 2% init-.c Couldn't compile file 'init-.c' Status: -1 Command: gcc -DEWINDOWS -fomit-frame-pointer -c -w -fsigned-char -02\\ -m32 -Ic:\euphoria -ffast-math -mwindows init-.cany ideas?
It looks like gcc isn't in your path. Check your %PATH% variable and make sure the you can run gcc from the command line.
Matt
8. Re: Compile with watcom fails
- Posted by wynco Mar 28, 2012
- 2441 views
- Last edited Mar 29, 2012
Checked path and found when switched from watcom didn't add MinGW to the path. Now it passes compiling but fails to link with following messages
Linking 100% ..\ascii.exe c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../ming32/bin/ld.exe: cannot find c:\euphoria\bin: Permission denied collect2: ld returned 1 exit status Unable to link C:\euphoria\ascii.exe Status: 1 Command: gcc -o C:|euphoria\ascii.exe init-.o ascii.o main-.0 graphic s.o types.o console.o get.o machine.o memconst.o memory.o dll.o text.o convert.o search.0 filesys.o datetime.o math.o sequence.o sort.o pretty.o graphcst.o c:\ euphoria\bin -m32don't know why it cannot find c:\euphora\bin as it is in the PATH variable or what 'Permission denied' means
9. Re: Compile with watcom fails
- Posted by mattlewis (admin) Mar 29, 2012
- 2426 views
Status: 1 Command: gcc -o C:|euphoria\ascii.exe init-.o ascii.o main-.0 graphic s.o types.o console.o get.o machine.o memconst.o memory.o dll.o text.o convert.o search.0 filesys.o datetime.o math.o sequence.o sort.o pretty.o graphcst.o c:\ euphoria\bin -m32don't know why it cannot find c:\euphora\bin as it is in the PATH variable or what 'Permission denied' means
It looks like it output just the directory, and not the file name for the run time library (c:\euphoria\bin\eu.a). Is your MinGW runtime library in that directory?
Matt
10. Re: Compile with watcom fails
- Posted by petelomax Mar 31, 2012
- 2258 views
Status: 1 Command: gcc -o C:|euphoria\ascii.exe
That says C:| not C:\, is that the problem?
11. Re: Compile with watcom fails
- Posted by wynco Apr 07, 2012
- 2034 views
Status: 1 Command: gcc -o C:|euphoria\ascii.exe
That says C:| not C:\, is that the problem?
this is a typo, the actual line is
Status: 1 Command: gcc -o C:\euphoria\ascii.exe
12. Re: Compile with watcom fails
- Posted by wynco Apr 07, 2012
- 2018 views
Status: 1 Command: gcc -o C:|euphoria\ascii.exe init-.o ascii.o main-.0 graphic s.o types.o console.o get.o machine.o memconst.o memory.o dll.o text.o convert.o search.0 filesys.o datetime.o math.o sequence.o sort.o pretty.o graphcst.o c:\ euphoria\bin -m32don't know why it cannot find c:\euphora\bin as it is in the PATH variable or what 'Permission denied' means
It looks like it output just the directory, and not the file name for the run time library (c:\euphoria\bin\eu.a). Is your MinGW runtime library in that directory?
Matt
Thanks Matt, Looks like your right, changed the command line to
euc -gcc -lib c:\euphoria\bin\eu.a ascii.exe
and it works fine. Got a good executable.
New problem. When tried to compile one of my windows programs, got a good exe but it pops a console window when run, it doesn't when run as an exw or bound exe. How would one prevent that from happening?
13. Re: Compile with watcom fails
- Posted by jimcbrown (admin) Apr 08, 2012
- 1988 views
Status: 1 Command: gcc -o C:|euphoria\ascii.exe init-.o ascii.o main-.0 graphic s.o types.o console.o get.o machine.o memconst.o memory.o dll.o text.o convert.o search.0 filesys.o datetime.o math.o sequence.o sort.o pretty.o graphcst.o c:\ euphoria\bin -m32don't know why it cannot find c:\euphora\bin as it is in the PATH variable or what 'Permission denied' means
It looks like it output just the directory, and not the file name for the run time library (c:\euphoria\bin\eu.a). Is your MinGW runtime library in that directory?
Matt
Thanks Matt, Looks like your right, changed the command line to
euc -gcc -lib c:\euphoria\bin\eu.a ascii.exe
and it works fine. Got a good executable.
New problem. When tried to compile one of my windows programs, got a good exe but it pops a console window when run, it doesn't when run as an exw or bound exe. How would one prevent that from happening?
Based no your previous command line, it looks like we're omitting the "-mwindows" flag to gcc.
As your euc line does not include the "-con" flag, the "-mwindows" flag should be set by default, so I'm not sure why this is failing.
As a workaround, you can try running these commands:
mkdir tempdir euc -keep -makefile -build-dir tempdir -gcc -lib c:\euphoria\bin\eu.a ascii.exe
Then you can edit the makefile in tempdir to manually add the "-mwindows" flag and build it.
14. Re: Compile with watcom fails
- Posted by jimcbrown (admin) Apr 09, 2012
- 1833 views
generated the 50 .c files and the makefile fine. Edited the makefile to include -mwindows in the lflags line. After running euc, it instructed to switch to tempdir and type
make -f MyDatabase.mak
Note: ascii was the console program I compiled earlier, MyDatabase is a small GUI database for personal use.
Got an error message stating that 'make' is not a valid internal or external command.
is 'make' a program file like 'euc' or an operator for another program file? Searched the euphoria directory and sub directories but could not find a file named 'make'.
Well, 'make' is not part of Euphoria, it is its own package. I expected that most people who have gcc installed would have had gnumake installed as well.
Mingw-make would probably work as well.
Alternatively, do this:
euc -verbose -keep -build-dir tempdir -gcc -lib ...etc...
Then you can manually run the command to link the various .o files into your .exe file and add the -mwindows option in there. With the verbose option, euc will even give you the command lines that it runs to generate the .o files and the .exe file.
15. Re: Compile with watcom fails
- Posted by ne1uno Apr 09, 2012
- 1842 views
Status: 1 Command: gcc -o C:|euphoria\ascii.exe init-.o ascii.o main-.0 graphic s.o types.o console.o get.o machine.o memconst.o memory.o dll.o text.o convert.o search.0 filesys.o datetime.o math.o sequence.o sort.o pretty.o graphcst.o c:\ euphoria\bin -m32don't know why it cannot find c:\euphora\bin as it is in the PATH variable or what 'Permission denied' means
It looks like it output just the directory, and not the file name for the run time library (c:\euphoria\bin\eu.a). Is your MinGW runtime library in that directory?
Matt
Thanks Matt, Looks like your right, changed the command line to
euc -gcc -lib c:\euphoria\bin\eu.a ascii.exe
and it works fine. Got a good executable.
New problem. When tried to compile one of my windows programs, got a good exe but it pops a console window when run, it doesn't when run as an exw or bound exe. How would one prevent that from happening?
this is fixed in the latest release 4.0.4, minGW adds both cflags and lflags -mwindows ok, the problem was -con option was being forced.
16. Re: Compile with watcom fails
- Posted by wynco Apr 10, 2012
- 1825 views
Would like to thank everyone for the help.
Tried adding the lflags line from the makefile directly to the euc command line and it compiled fine. The resulting GUI exe will run without the console popping up. Here is the final command line I am using
euc -gcc -lflags "-mwindows c:\euphoria\bin\eu.a -mu3" -lib C:\euphoria\bin\eu.a MyDatabase.exw