1. eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2109 views
The Dos translator eucd.exe appears to have a bug in in its code that
appeared in the euc.exe translator and was corrected ( see TICKET #223 and #248 ).
In 4773 DOS euc.exe works ok but it looks like the fixes did not make it into eucd.exe
translator source code.
When I run eucd -wat polygon.exd I get the following error file init-.err :
init-.c(1): Error! E1055: Unable to open 'include\euphoria.h' main-.h(856): Error! E1022: Missing or misspelled data type near 'object' main-.h(859): Error! E1022: Missing or misspelled data type near 'object_ptr' main-.h(860): Error! E1022: Missing or misspelled data type near 's1_ptr' main-.h(861): Error! E1022: Missing or misspelled data type near 'object' init-.c(814): Error! E1175: Too many initializers init-.c(815): Error! E1175: Too many initializers init-.c(816): Error! E1175: Too many initializers init-.c(817): Error! E1175: Too many initializers init-.c(818): Error! E1175: Too many initializers init-.c(819): Error! E1175: Too many initializers init-.c(820): Error! E1175: Too many initializers init-.c(821): Error! E1175: Too many initializers init-.c(825): Error! E1022: Missing or misspelled data type near 'object' init-.c(827): Error! E1175: Too many initializers init-.c(828): Error! E1175: Too many initializers init-.c(829): Error! E1175: Too many initializers init-.c(830): Error! E1175: Too many initializers init-.c(831): Error! E1175: Too many initializers init-.c(832): Error! E1175: Too many initializers init-.c(833): Error! E1147: Too many errors: compilation aborted
I do not have enough know how to understand how the translator is constructed.
2. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 2089 views
When I run eucd -wat polygon.exd I get the following error file init-.err :
init-.c(1): Error! E1055: Unable to open 'include\euphoria.h'
I do not have enough know how to understand how the translator is constructed.
I think the real issue is that the compiler can't find the header, which includes lots of important declarations, which are in turn causing those other errors. Make sure that the command line invoking the compiler points to the directory with euphoria.h. This is usually a flag using a capital I, e.g.: /Ic:\euphoria\include
Matt
3. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2086 views
Matt:
Please read the Tickets that I listed. The same problem was original euc.exe code
4. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 2092 views
Please read the Tickets that I listed. The same problem was original euc.exe code
And they basically say the problem is what I just said. Can you tell us where euphoria.h is and provide the command line invoking the compiler?
Matt
6. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 2069 views
Its in the include directory
Sorry, I thought you wanted help. Are you being deliberately unhelpful?
Matt
7. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2072 views
Its in the include directory
Sorry, I thought you wanted help. Are you being deliberately unhelpful?
Matt
No Matt I am serious
8. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 2023 views
Its in the include directory
Sorry, I thought you wanted help. Are you being deliberately unhelpful?
Matt
No Matt I am serious
"It's in the include directory" is not a very good answer to: "Can you tell us where euphoria.h is and provide the command line invoking the compiler?"
Please, quote the actual path where euphoria.h is and the command line used to invoke the compiler that generated the error you posted.
Matt
9. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2051 views
I am in the cmd.exe shell an invoking the a tmp directory containing only polygon.exd
Doesn't euc.exe use euphoria.h it works.
10. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 22, 2013
- 2032 views
The Dos translator eucd.exe appears to have a bug in in its code that
appeared in the euc.exe translator and was corrected ( see TICKET #223 and #248 ).
In 4773 DOS euc.exe works ok but it looks like the fixes did not make it into eucd.exe
Jeremy's fix to look in standardized locations for euphoria.h was in common code, shared by all platforms (even DOS). So, this fix should have made it in there.
See http://sourceforge.net/p/rapideuphoria/code/3646/tree//trunk/source/common.e?diff=51a507dc34309d7588b4a0a1:3645 - note how on DOS the standard paths are c:/program files/euphoria, c:/program files (x86)/euphoria, and c:/euphoria ... if it's not in c:/euphoria but in one of the other two places then it won't be found (unless you have long file name support set up).
11. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 22, 2013
- 2000 views
I am in the cmd.exe shell an invoking the a tmp directory containing only polygon.exd
Doesn't euc.exe use euphoria.h it works.
You said this is the DOS euc.exe right? Why not remove eucd.exe and copy euc.exe to eucd.exe ... that should fix the problem then?
Where is the euphoria.h that euc.exe is using located? What's the full path to that euphoria.h ?
12. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2011 views
Jim:
It looks like the code in the trunk may have old common.e file.
Can I use the the one out of eu405 source and try that ?
13. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 22, 2013
- 1999 views
Jim:
It looks like the code in the trunk may have old common.e file.
Then I don't understand why euc.exe works. Isn't it built from the same source as eucd.exe ?
Can I use the the one out of eu405 source and try that ?
I don't remember precisely what other changes were made. It might break and fail to build, but on the other hand it just might work.
14. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2006 views
I tried using common.e from eu405 but still have same problem.
15. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 1995 views
I tried using common.e from eu405 but still have same problem.
You might try helping us to help you.
Matt
17. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 22, 2013
- 2021 views
What do you mean by that ?????
Telling us the full path of euphoria.h .. if using 4.0.5's common.e did not resolve the problem, then this is not the same bug as in ticket:248 but a new issue.
To debug this, we need a few bits of information. One of those is the full path of euphoria.h ... we can not proceed without this information.
19. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 2013 views
What do you mean by that ?????
I've asked you twice for information.
c:\eunewdos\include\euphoria.h
That's half of it. Now tell us about how the compiler is being invoked.
Matt
20. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 22, 2013
- 1983 views
c:\eunewdos\include\euphoria.h
That's not on the default path search list. Are you using EUDIR, and if so what is EUDIR set to?
Where is your eu.cfg located and what are the contents of eu.cfg?
21. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 1993 views
What do you mean by that ?????
I've asked you twice for information.
c:\eunewdos\include\euphoria.h
That's half of it. Now tell us about how the compiler is being invoked.
Matt
Are you asking how the compiler is invoke or the translator ?
22. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 2028 views
What do you mean by that ?????
I've asked you twice for information.
c:\eunewdos\include\euphoria.h
That's half of it. Now tell us about how the compiler is being invoked.
Matt
Are you asking how the compiler is invoke or the translator ?
You read that sentence, right? What do you think?
Matt
23. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2002 views
THIS IS MY BATCH FILE:
REM move down two directories from source. cd /d %0\..\..
REM set enviorment variable EU to the current directory. set EU=%CD%
REM move back to the source directory. cd %EU%\source\
REM need to create be_callback.c if using source with make_be_callback.ex if not exist make_be_callback.ex goto skip if not exist be_callback.c %EU%\bin\eui.exe make_be_callback.ex
wmake -f makefile.wat clean
wmake -f makefile.wat distclean
call configure eubin %EU%\bin build %EU%\source\build
wmake -f makefile.wat all
24. Re: eu 4773 dos
- Posted by mattlewis (admin) Nov 22, 2013
- 1993 views
I think we're closing in on the last tooth that needs to be pulled. When you run that, do you get some sort of command printed in the console that has whatever the Watcom DOS compiler is, plus whatever C file it's compiling?
Alternatively: Look inside the makefile. Somewhere, it builds the command line. Figure out where it builds the part that tells the compiler to look for header files (it will be either the /I or -I flag).
Please report this information (AKA, how the compiler is invoked).
Matt
25. Re: eu 4773 dos
- Posted by BRyan Nov 22, 2013
- 2031 views
I'll have to get back with you guys later I have some other things to do right now.
Thanks matt and Jim for now.
26. Re: eu 4773 dos
- Posted by BRyan Nov 23, 2013
- 1990 views
I think we're closing in on the last tooth that needs to be pulled. When you run that, do you get some sort of command printed in the console that has whatever the Watcom DOS compiler is, plus whatever C file it's compiling?
Alternatively: Look inside the makefile. Somewhere, it builds the command line. Figure out where it builds the part that tells the compiler to look for header files (it will be either the /I or -I flag).
Please report this information (AKA, how the compiler is invoked).
Matt
The incdir is set makefile.wat │EXE=$(EX) │INCDIR=-i $(TRUNKDIR)\include
One thing that does not make sense to me is that the code in makefile.wat
for building the both translators is the same.
I would think the DOS translator would use a different EU_TARGET
translator : .SYMBOLIC version.h @echo ------- TRANSLATOR ----------- wmake -h $(BUILDDIR)\transobj\main-.c EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=transobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=$(MANAGED_MEM) wmake -h objlist OBJDIR=transobj EU_NAME_OBJECT=EU_TRANSLATOR_OBJECTS $(VARS) wmake -h $(BUILDDIR)\euc.exe EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=transobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=$(MANAGED_MEM) dostranslator : .SYMBOLIC version.h @echo ------- DOS TRANSLATOR ----------- wmake -h $(BUILDDIR)\dostrobj\main-.c EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=dostrobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=1 OS=DOS wmake -h objlist OBJDIR=dostrobj EU_NAME_OBJECT=EU_TRANSDOS_OBJECTS $(VARS) OS=DOS wmake -h $(BUILDDIR)\eucd.exe EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=dostrobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=1 OS=DOS
27. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 23, 2013
- 1959 views
I think we're closing in on the last tooth that needs to be pulled. When you run that, do you get some sort of command printed in the console that has whatever the Watcom DOS compiler is, plus whatever C file it's compiling?
Alternatively: Look inside the makefile. Somewhere, it builds the command line. Figure out where it builds the part that tells the compiler to look for header files (it will be either the /I or -I flag).
Please report this information (AKA, how the compiler is invoked).
Matt
The incdir is set makefile.wat │EXE=$(EX) │INCDIR=-i $(TRUNKDIR)\include
translator : .SYMBOLIC version.h @echo ------- TRANSLATOR ----------- wmake -h $(BUILDDIR)\transobj\main-.c EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=transobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=$(MANAGED_MEM) wmake -h objlist OBJDIR=transobj EU_NAME_OBJECT=EU_TRANSLATOR_OBJECTS $(VARS) wmake -h $(BUILDDIR)\euc.exe EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=transobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=$(MANAGED_MEM) dostranslator : .SYMBOLIC version.h @echo ------- DOS TRANSLATOR ----------- wmake -h $(BUILDDIR)\dostrobj\main-.c EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=dostrobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=1 OS=DOS wmake -h objlist OBJDIR=dostrobj EU_NAME_OBJECT=EU_TRANSDOS_OBJECTS $(VARS) OS=DOS wmake -h $(BUILDDIR)\eucd.exe EX=$(EUBIN)\eui.exe EU_TARGET=ec. OBJDIR=dostrobj $(VARS) DEBUG=$(DEBUG) MANAGED_MEM=1 OS=DOS
That's the wrong one! That's for the translator, not the compiler!
Also, posting makefile.wat won't help... but the complete contents of config.wat might.
One thing that does not make sense to me is that the code in makefile.wat
for building the both translators is the same.
I would think the DOS translator would use a different EU_TARGET
Why? EU_TARGET is one of the interpreter, translator, or backend. It's trying to build the translator for DOS in this case, so it's the same EU_TARGET.. EU_TARGETs are shared between different platforms.
28. Re: eu 4773 dos
- Posted by BRyan Nov 23, 2013
- 1934 views
Here is config.wat :
# Configuration for Watcom EUBIN=C:\EUNEWDOS\bin EUPHORIA=1 MANAGED_MEM=1 DELTREE=del /Q /S RM=del /Q RMDIR=rmdir /Q/S TRUNKDIR=C:\EUNEWDOS BUILDDIR=C:\EUNEWDOS\source\build
29. Re: eu 4773 dos
- Posted by jimcbrown (admin) Nov 23, 2013
- 1981 views
Here is config.wat :
# Configuration for Watcom EUBIN=C:\EUNEWDOS\bin EUPHORIA=1 MANAGED_MEM=1 DELTREE=del /Q /S RM=del /Q RMDIR=rmdir /Q/S TRUNKDIR=C:\EUNEWDOS BUILDDIR=C:\EUNEWDOS\source\build
Ok, I have figured this out and I think I know exactly what is wrong and have a patch available to fix it.
I guess wcc386's command line options are case sensitive...
30. Re: eu 4773 dos
- Posted by BRyan Nov 23, 2013
- 1997 views
Ok Thanks jim
I'll will be waiting to test the fix.
31. Re: eu 4773 dos
- Posted by BRyan Jan 11, 2014
- 1748 views
Here is config.wat :
# Configuration for Watcom EUBIN=C:\EUNEWDOS\bin EUPHORIA=1 MANAGED_MEM=1 DELTREE=del /Q /S RM=del /Q RMDIR=rmdir /Q/S TRUNKDIR=C:\EUNEWDOS BUILDDIR=C:\EUNEWDOS\source\build
Ok, I have figured this out and I think I know exactly what is wrong and have a patch available to fix it.
I guess wcc386's command line options are case sensitive...
Jim:
Have you come up with a patch for DOS 4773 case problem ?
32. Re: eu 4773 dos
- Posted by jimcbrown (admin) Jan 11, 2014
- 1679 views
Jim:
Have you come up with a patch for DOS 4773 case problem ?
"case" problem? There's an issue with 'switch' ?
I ended up coming up with two patches to the problem in this thread, the right fix and a quick fix.
I'll leave it to the reader to figure out which is which.
--- Makefile.wat 2013-01-04 08:12:21.000000000 -0400 +++ Makefile.wat 2014-01-11 12:41:30.829085988 -0400 @@ -424,7 +424,7 @@ CC = wcc386 .ERASE COMMON_FLAGS = $(DEBUGFLAG) -FE_FLAGS = /bt=nt /mf /w0 /zq /j /zp4 /fp5 /fpi87 /5r /otimra /s /I..\ $(EREL_TYPE) +FE_FLAGS = /bt=nt /mf /w0 /zq /j /zp4 /fp5 /fpi87 /5r /otimra /s /I$(BUILDDIR)\include /I$(BUILDDIR) /I$(BUILDDIR)\source $(EREL_TYPE) BE_FLAGS = /ol /zp4 /d$(OSFLAG) /5r /dEWATCOM /dEOW $(SETALIGN4) $(NOASSERT) $(HEAPCHECKFLAG) $(%ERUNTIME) $(EXTRACHECKFLAG) $(EXTRASTATSFLAG) $(MEMFLAG) $(EREL_TYPE) library : .SYMBOLIC
--- Makefile.wat 2013-01-04 08:12:21.000000000 -0400 +++ Makefile.wat 2014-01-11 12:41:30.829085988 -0400 @@ -424,7 +424,7 @@ CC = wcc386 .ERASE COMMON_FLAGS = $(DEBUGFLAG) -FE_FLAGS = /bt=nt /mf /w0 /zq /j /zp4 /fp5 /fpi87 /5r /otimra /s /I..\ $(EREL_TYPE) +FE_FLAGS = /bt=nt /mf /w0 /zq /j /zp4 /fp5 /fpi87 /5r /otimra /s /I..\ /IC:\EUNEWDOS\include $(EREL_TYPE) BE_FLAGS = /ol /zp4 /d$(OSFLAG) /5r /dEWATCOM /dEOW $(SETALIGN4) $(NOASSERT) $(HEAPCHECKFLAG) $(%ERUNTIME) $(EXTRACHECKFLAG) $(EXTRASTATSFLAG) $(MEMFLAG) $(EREL_TYPE) library : .SYMBOLIC