1. Compile with watcom fails

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.

new topic     » topic index » view message » categorize

2. Re: Compile with watcom fails

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.

new topic     » goto parent     » topic index » view message » categorize

3. Re: Compile with watcom fails

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.

new topic     » goto parent     » topic index » view message » categorize

4. Re: Compile with watcom fails

gbonvehi said...

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.

new topic     » goto parent     » topic index » view message » categorize

5. Re: Compile with watcom fails

wynco said...

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.

new topic     » goto parent     » topic index » view message » categorize

6. Re: Compile with watcom fails

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-.c 
any ideas?

new topic     » goto parent     » topic index » view message » categorize

7. Re: Compile with watcom fails

wynco said...

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-.c 
any 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

new topic     » goto parent     » topic index » view message » categorize

8. Re: Compile with watcom fails

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 -m32 
don't know why it cannot find c:\euphora\bin as it is in the PATH variable or what 'Permission denied' means

new topic     » goto parent     » topic index » view message » categorize

9. Re: Compile with watcom fails

wynco said...

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 -m32 
don'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

new topic     » goto parent     » topic index » view message » categorize

10. Re: Compile with watcom fails

wynco said...

Status: 1 Command: gcc -o C:|euphoria\ascii.exe 

That says C:| not C:\, is that the problem?

new topic     » goto parent     » topic index » view message » categorize

11. Re: Compile with watcom fails

petelomax said...
wynco said...

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

new topic     » goto parent     » topic index » view message » categorize

12. Re: Compile with watcom fails

mattlewis said...
wynco said...

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 -m32 
don'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?

new topic     » goto parent     » topic index » view message » categorize

13. Re: Compile with watcom fails

wynco said...
mattlewis said...
wynco said...

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 -m32 
don'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.

new topic     » goto parent     » topic index » view message » categorize

14. Re: Compile with watcom fails

wynco said...

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.

new topic     » goto parent     » topic index » view message » categorize

15. Re: Compile with watcom fails

wynco said...
mattlewis said...
wynco said...

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 -m32 
don'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.

new topic     » goto parent     » topic index » view message » categorize

16. Re: Compile with watcom fails

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu