1. Building eu40.4 question
- Posted by BRyan Aug 07, 2012
- 3258 views
I downloaded Windows installer (with OW) where are the specific instructions for building
source code using OpenWatcom located ?? What are the commands for wmake etc.
2. Re: Building eu40.4 question
- Posted by mattlewis (admin) Aug 07, 2012
- 3189 views
I downloaded Windows installer (with OW) where are the specific instructions for building
source code using OpenWatcom located ?? What are the commands for wmake etc.
Take a look at the top of the source/Makefile.wat file. Assuming that OpenWatcom is installed correctly (PATH, etc, which I think the installer does for you), and assuming you have a 4.0 version of euphoria installed (which the installer did for you), it should be as simple as:
> configure > wmake
There are other things that the makefile does (again, read the beginning of it), but that should get a build going.
Matt
3. Re: Building eu40.4 question
- Posted by BRyan Aug 07, 2012
- 3180 views
I downloaded Windows installer (with OW) where are the specific instructions for building
source code using OpenWatcom located ?? What are the commands for wmake etc.
Take a look at the top of the source/Makefile.wat file. Assuming that OpenWatcom is installed correctly (PATH, etc, which I think the installer does for you), and assuming you have a 4.0 version of euphoria installed (which the installer did for you), it should be as simple as:
> configure > wmake
There are other things that the makefile does (again, read the beginning of it), but that should get a build going.
Matt
I made the mistake of allowing the installer to set up the environment variables
automatically and it did not set up watcom bin paths so I will delete and setup
and edit by hand.
Thanks Matt
Bernie
4. Re: Building eu40.4 question
- Posted by BRyan Aug 07, 2012
- 3139 views
The config.wat file has platform set to: PLAT=WINDOWS These Header files are expecting EWINDOWS to be defined : be_pcre.h config.h So the following include files will be used to compile : config.h.windows pcre.h.windows Generating the error file : pcre_chartables.err config.h(7): Error! E1091: ** config.h(8): Error! E1091: ** No OS set! config.h(9): Error! E1091: ** Please run configure and make utilities config.h(10): Error! E1091: ** from this directory s parent config.h(11): Error! E1091: ** pcre.h(7): Error! E1091: ** pcre.h(8): Error! E1091: ** No OS set! pcre.h(9): Error! E1091: ** Please run configure and make utilities pcre.h(10): Error! E1091: ** from this directory s parent pcre.h(11): Error! E1091: ** pcre_internal.h(386): Error! E1091: LINK_SIZE must be either 2, 3, or 4
5. Re: Building eu40.4 question
- Posted by andi49 Aug 07, 2012
- 3115 views
Hallo
configure --eubin c:\euphoria40\bin --plat WINDOWS wmake
This mostly works for me.
I never got something without setting eubin (maybe, becouse of my setup here)
Andreas
6. Re: Building eu40.4 question
- Posted by BRyan Aug 07, 2012
- 3110 views
Hallo
configure --eubin c:\euphoria40\bin --plat WINDOWS wmake
This mostly works for me.
I never got something without setting eubin (maybe, becouse of my setup here)
Andreas
Thanks Andreas
That does not make any difference in my setup, I get the same error.
7. Re: Building eu40.4 question
- Posted by mattlewis (admin) Aug 08, 2012
- 3033 views
Hallo
configure --eubin c:\euphoria40\bin --plat WINDOWS wmake
This mostly works for me.
I never got something without setting eubin (maybe, becouse of my setup here)
I didn't use the installer, but from my local mercurial repo, I did:
> hg up 4.0.4 > wmake clean > configure > wmake
...and everything seems to have built for me. (NB: the hg up 4.0.4 updated my working copy to the 4.0.4 tag, so it should all be the same as what you got with a 4.0.4 install.) Here is what my config.wat looks like:
# Configuration for Watcom ASSERT=1 SCP=pscp -C SSH=plink -C HG=hg ARCH=ix86 EUPHORIA=1 MANAGED_MEM=1 DELTREE=del /Q /S RM=del /Q RMDIR=rmdir /Q/S EUDOC=eudoc.exe CREOLE=creole.exe TRUNKDIR=C:\euphoria\dev\oe BUILDDIR=C:\euphoria\dev\oe\source\build
When building the pcre stuff, my console shows:
------- REG EXP ----------- cd pcre wmake -h -f makefile.wat CONFIG=..\config.wat EOSTYPE=-DEWINDOWS wcc386 -DEWINDOWS /zp4 /w0 /5r /ol -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE pcre_chartables.c -fo=C:\euphoria\dev\oe\sour ce\build\pcre\pcre_chartables.obj wcc386 -DEWINDOWS /zp4 /w0 /5r /ol -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE pcre_compile.c -fo=C:\euphoria\dev\oe\source\ build\pcre\pcre_compile.obj wcc386 -DEWINDOWS /zp4 /w0 /5r /ol -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE pcre_config.c -fo=C:\euphoria\dev\oe\source\b uild\pcre\pcre_config.obj wcc386 -DEWINDOWS /zp4 /w0 /5r /ol -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE pcre_dfa_exec.c -fo=C:\euphoria\dev\oe\source \build\pcre\pcre_dfa_exec.obj ...
Matt
8. Re: Building eu40.4 question
- Posted by BRyan Aug 08, 2012
- 3026 views
Matt:
Do you know who wrote this makefile.wat. Maybe they could write some instructions ? There are no comments or explanation of what parameters to pass if any. This is the only comment in the file. # I wanted to put $(BASEPATH) here as a dependency for .c files but # watcom doesn't provide that functionality in inplicit rules... (sigh) I give up I'am not familiar enough with how all the pieces pass parameters back and forth. The config.wat does not have the same parameters that are in your config.wat. The makefile.wat has only single line and is autodepend .c.obj : .AUTODEPEND wcc386 $(EOSTYPE) /zp4 /w0 /5r /ol $(PCREDEBUG) -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE $< -fo=$@ $(BASEPATH) : .EXISTSONLY $(BUILDDIR) mkdir $(BASEPATH)
9. Re: Building eu40.4 question
- Posted by mattlewis (admin) Aug 08, 2012
- 3089 views
Matt:
Do you know who wrote this makefile.wat. Maybe they could write some instructions ? There are no comments or explanation of what parameters to pass if any. This is the only comment in the file. # I wanted to put $(BASEPATH) here as a dependency for .c files but # watcom doesn't provide that functionality in inplicit rules... (sigh) I give up I'am not familiar enough with how all the pieces pass parameters back and forth. The config.wat does not have the same parameters that are in your config.wat. The makefile.wat has only single line and is autodepend .c.obj : .AUTODEPEND wcc386 $(EOSTYPE) /zp4 /w0 /5r /ol $(PCREDEBUG) -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE $< -fo=$@ $(BASEPATH) : .EXISTSONLY $(BUILDDIR) mkdir $(BASEPATH)
That Makefile is meant to be called by the makefile in the source directory. You shouldn't need to mess with it (unless you're doing something with the PCRE stuff).
From my earlier post, this was all output from the build process:
------- REG EXP ----------- cd pcre wmake -h -f makefile.wat CONFIG=..\config.wat EOSTYPE=-DEWINDOWS
Those are commands from source/Makefile.wat, starting at line 813. You should never need to manually call the makefile in the pcre directory:
@echo ------- REG EXP ----------- cd pcre wmake -h -f makefile.wat CONFIG=..\$(CONFIG) EOSTYPE=-D$(OSFLAG)
Matt
10. Re: Building eu40.4 question
- Posted by BRyan Aug 09, 2012
- 3018 views
Matt:
I don't understand how these are ever being set by running wmake without passing parameters makefile has to be missing something ? $(CONFIG) $(EOSTYPE) Where are they initialized ?????? This is what makefile.wat contains ---------------------------------------- # Makefile for PCRE to be included into Euphoria # CC = wcc386 BASEPATH=$(BUILDDIR)\pcre !include $(CONFIG) !include objects.wat !ifeq DEBUG 1 PCREDEBUG=/d2 !endif all: $(BASEPATH) $(PCRE_OBJECTS) # I wanted to put $(BASEPATH) here as a dependency for .c files but # watcom doesn't provide that functionality in inplicit rules... (sigh) .c.obj : .AUTODEPEND wcc386 $(EOSTYPE) /zp4 /w0 /5r /ol $(PCREDEBUG) -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE $< -fo=$@ $(BASEPATH) : .EXISTSONLY $(BUILDDIR) mkdir $(BASEPATH) : ----------------------------------------
11. Re: Building eu40.4 question
- Posted by mattlewis (admin) Aug 09, 2012
- 2961 views
I don't understand how these are ever being set by running wmake without passing parameters makefile has to be missing something ?
$(CONFIG) $(EOSTYPE)
Where are they initialized ??????
This is what makefile.wat contains
---------------------------------------- # Makefile for PCRE to be included into Euphoria # CC = wcc386 BASEPATH=$(BUILDDIR)\pcre !include $(CONFIG) !include objects.wat !ifeq DEBUG 1 PCREDEBUG=/d2 !endif all: $(BASEPATH) $(PCRE_OBJECTS)
What file are you looking at? You're describing the contents of source/pcre/Makefile.wat. You should not be doing anything with this file manually. As I already told you, that stuff gets initialized when wmake is called for this makefile by the makefile in the source directory.
- I wanted to put $(BASEPATH) here as a dependency for .c files but
Why? What are you trying to do? I've told you how that makefile works, but since you keep asking the same questions over and over, I suspect that we need to back up a step or two to figure out what problem you are trying to solve.
Matt
12. Re: Building eu40.4 question
- Posted by BRyan Aug 09, 2012
- 2945 views
Matt:
That BASEPATH NOTE was written by the developer that wrote the makefile.wat not me. Beside the makefile.wat there is another makefile with no extent that contains only this : ---------------------------------------------------------- !include Makefile.wat ---------------------------------------------------------- There is NO pcre directory all the files are all installed in source directory.
13. Re: Building eu40.4 question
- Posted by mattlewis (admin) Aug 09, 2012
- 2962 views
That BASEPATH NOTE was written by the developer that wrote the makefile.wat not me.
Beside the makefile.wat there is another makefile with no extent that contains only this :
---------------------------------------------------------- !include Makefile.wat ----------------------------------------------------------There is NO pcre directory all the files are all installed in source directory.
Aha! Thanks for the clarification. This looks like a bug in the installer:
Source: "..\..\source\pcre\*.*"; DestDir: {app}\source\; Flags: ignoreversion; Components: comp_source
So...the pcre directory contents are overwriting the source directory. The best place to get the source is really from the mercurial repo. Take a look at the Mercurial wiki page. Or, you can follow the SCM menu item on the right and download a snapshot of a particular changeset.
Matt
14. Re: Building eu40.4 question
- Posted by BRyan Aug 09, 2012
- 2973 views
Thanks Matt for all your help I will wait until the installer is fixed and then try again. Mean while I got other things that I can do to keep busy.
15. Re: Building eu40.4 question
- Posted by EUWX Nov 27, 2012
- 2891 views
This was my first attempt at building eu4.0.5
I downloaded and installed euphoria-4.0.5-ow.exe. I have Windows XP SP2.
I installed it in c:euphoria I installed Watcom 1.9 at c:watcom In System\advanced\enviromental variables, I can see the path set correctly to the two Watcom direcotries.
-- I did SET EUINC=C:\EUPHORIA\include --I can see the EUINC properly initialised. -- I did cd source configure --prefix \EUPHORIA -- wmake is Watcom compiler command in the c:\watcom\binw directory -- Then I tried wmake -f makefile.wat
It errored out, because it did not find config.wat at line 9 of Makefile.wat. I checked by putting an extra line of comment in Makefile.wat and it errored our at line 10. I tried the full paths to everything, but it did not work
c:\watcom\binw\wmake -f c:\euphoria\source\Makefile.wat
Finally I commented out line 9 pf Makefile.wat
# !include $(CONFIG) -- adding instead !include config.wat
and lo and behold, it work up to a point.
It created c:\euphoria\source\build and .....\pcre
It put in some files there
But it came with an error.
By now I have created a composite batch file
and this is the message.
Build directory is build Open Watcom Make Version 1.9 Portions Copyright (c) 1988-2002 Sybase, Inc. All Rights Reserved. Source code is available under the Sybase Open Watcom Public License. See http://www.openwatcom.org/ for details. wcc386 /zp4 /w0 /5r /ol -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE pcre_chartables.c -fo=C:\euphoria\source\build\pcre\pcre_chartables.obj config.h(7): Error! E1091: ** config.h(8): Error! E1091: ** No OS set! config.h(9): Error! E1091: ** Please run configure and make utilities config.h(10): Error! E1091: ** from this directory s parent config.h(11): Error! E1091: ** pcre.h(7): Error! E1091: ** pcre.h(8): Error! E1091: ** No OS set! pcre.h(9): Error! E1091: ** Please run configure and make utilities pcre.h(10): Error! E1091: ** from this directory s parent pcre.h(11): Error! E1091: ** pcre_internal.h(386): Error! E1091: LINK_SIZE must be either 2, 3, or 4
Note that in the line
wcc386 ...... the word $(EOSTYPE) is missing.
I therefore tried:
PLAT=WINDOWS in the config.wat FILE - no success
PLAT=WINDOWS in the Makefile.wat FILE - no success
I tried several other statements but no success
Substitution with whatever I assign to EOSTYPE occurs in the erro message display but no success
## # Makefile for PCRE to be included into Euphoria ## <\eucode> <eucode> CC = wcc386 # #PLAT = WINDOWS #EOSTYPE = 3 #EOSTYPE = OS_WIN #EOSTYPE = "OS_WIN" #EOSTYPE = WINDOWS # EOSTYPE = "WINDOWS" BASEPATH=$(BUILDDIR)\pcre
# # !include $(CONFIG) #
!include config.wat !include objects.wat !ifeq DEBUG 1 PCREDEBUG=/d2 !endif
all: $(BASEPATH) $(PCRE_OBJECTS) .c.obj : .AUTODEPEND wcc386 $(EOSTYPE) /zp4 /w0 /5r /ol $(PCREDEBUG) -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE $< -fo=$@ $(BASEPATH) : .EXISTSONLY $(BUILDDIR) mkdir $(BASEPATH) Is there any write up anywhere, where I can look it up?
16. Re: Building eu40.4 question
- Posted by ne1uno Nov 28, 2012
- 2796 views
This was my first attempt at building eu4.0.5
I downloaded and installed euphoria-4.0.5-ow.exe. I have Windows XP SP2.
I installed it in c:euphoria I installed Watcom 1.9 at c:watcom In System\advanced\enviromental variables, I can see the path set correctly to the two Watcom direcotries.
-- I did SET EUINC=C:\EUPHORIA\include --I can see the EUINC properly initialised. -- I did cd source configure --prefix \EUPHORIA -- wmake is Watcom compiler command in the c:\watcom\binw directory -- Then I tried wmake -f makefile.watIt errored out, because it did not find config.wat at line 9 of Makefile.wat.
the problem seems to be config.wat is not created. I think Makefile. and eu.cfg are also created by configure. so you can then just run wmake
was there an error message at that point or lack of error message? try configure with no options.
17. Re: Building eu40.4 question
- Posted by EUWX Nov 28, 2012
- 2753 views
the problem seems to be config.wat is not created. I think Makefile. and eu.cfg are also created by configure. so you can then just run wmake
was there an error message at that point or lack of error message? try configure with no options.
Config .wat is being created and in fact, I fiddled with it by trying to add PLAT=WINDOWS
# Configuration for Watcom PLAT=WINDOWS ASSERT=1 PREFIX=\EUPHORIA SCP=pscp -C SSH=plink -C HG=hg ARCH=ix86 EUPHORIA=1 MANAGED_MEM=1 DELTREE=del /Q /S RM=del /Q RMDIR=rmdir /Q/S EUDOC=eudoc.exe CREOLE=creole.exe TRUNKDIR=C:\euphoria BUILDDIR=C:\euphoria\source\build
I have gone about line at a time and confirmed what is working and what is not working. Definitely, the current Makefile.wat in the euphoria-4.0.5-ow version after installation into C:euphoria is a small fileand the wmake command of Watcom does not recognize
!include $(CONFIG)
and I had to change it manually to
!include config.wat
Then it recognized the line and proceeded to
wcc386 $(EOSTYPE) /zp4 /w0 /5r /ol $(PCREDEBUG) -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE $< -fo=$@
where it did not find OS defined and came with the error message
wcc386 /zp4 /w0 /5r /ol -zq -oaxt -DHAVE_CONFIG_H -DNO_RECURSE pcre_chartables.c -fo=C:\euphoria\source\build\pcre\pcre_chartables.obj config.h(7): Error! E1091: ** config.h(8): Error! E1091: ** No OS set! config.h(9): Error! E1091: ** Please run configure and make utilities config.h(10): Error! E1091: ** from this directory s parent
Notice the absence of
$(EOSTYPE) or its substitution in the error message.
So far what I have discovered is that the Makefile.wat in the OW distribution version of 4.0.5 for Windows is vastly different from the one same in the Linux version. I also have euphoria-4.0.4-WINDOWS.zip which I either downloaded with that name or I gave that name to a Windows version of 4.0.4. In there, the Makefile.wat is a very similar long file to the Linux version of 4.0.4.
Additionally the source file in this version has about 20-30 .cpp files.
18. Re: Building eu40.4 question
- Posted by mattlewis (admin) Nov 28, 2012
- 2735 views
So far what I have discovered is that the Makefile.wat in the OW distribution version of 4.0.5 for Windows is vastly different from the one same in the Linux version. I also have euphoria-4.0.4-WINDOWS.zip which I either downloaded with that name or I gave that name to a Windows version of 4.0.4. In there, the Makefile.wat is a very similar long file to the Linux version of 4.0.4.
Additionally the source file in this version has about 20-30 .cpp files.
The problem is that the PCRE files are being installed to the source directory instead of into the pcre subdirectory of the source directory. This was discovered in the 4.0.4 installer, and it looks like it was fixed in the euphoria installer that does not install watcom, but not the watcom-bundled installer.
I've opened ticket:824.
Matt
19. Re: Building eu40.4 question
- Posted by EUWX Nov 28, 2012
- 2689 views
So far what I have discovered is that the Makefile.wat in the OW distribution version of 4.0.5 for Windows is vastly different from the one same in the Linux version. I also have euphoria-4.0.4-WINDOWS.zip which I either downloaded with that name or I gave that name to a Windows version of 4.0.4. In there, the Makefile.wat is a very similar long file to the Linux version of 4.0.4.
Additionally the source file in this version has about 20-30 .cpp files.
The problem is that the PCRE files are being installed to the source directory instead of into the pcre subdirectory of the source directory. This was discovered in the 4.0.4 installer, and it looks like it was fixed in the euphoria installer that does not install watcom, but not the watcom-bundled installer.
I've opened ticket:824.
Matt
I don't mind using the "normal" Windows Installer .exe file and try to compile from that. I hope it works. I will try it tomorrow, to give you people a chance to stop me if it won't work.
20. Re: Building eu40.4 question
- Posted by mattlewis (admin) Nov 29, 2012
- 2623 views
I don't mind using the "normal" Windows Installer .exe file and try to compile from that. I hope it works. I will try it tomorrow, to give you people a chance to stop me if it won't work.
I haven't tried it, though it should work (famous last words). For best results, you should clone the mercurial repository. If you'd rather not have that installed, you can download updated source code from our online repository browser.
Matt
21. Re: Building eu40.4 question
- Posted by EUWX Nov 29, 2012
- 2602 views
I don't mind using the "normal" Windows Installer .exe file and try to compile from that. I hope it works. I will try it tomorrow, to give you people a chance to stop me if it won't work.
I haven't tried it, though it should work (famous last words). For best results, you should clone the mercurial repository. If you'd rather not have that installed, you can download updated source code from our online repository browser.
Matt
Thanks for your suggestions. I am a persistent bee, and will try and get going based on the Makefile.wat in the "normal" exe distribution, in the repository, in the 4.0.4 final distribution, in the repository, etc, and make changes in the the .wat file as appropriate.
Earlier in this thread I read your caution about altering the Makefile. Usually I am not deterred by having to manipulate different "batch file" type of scripts. So, if I have to, I will alter the script to get the desired results.
I will remain alert to any other advice here, but otherwise, I will post my result (success or failure). In any case, I will go ahead with the MinGW compilation. I should be done in the next 36 hours (software writer's time scale!)
22. Re: Building eu40.4 question
- Posted by SDPringle Nov 29, 2012
- 2577 views
For various things to work EUDIR must be set appropriately. Although there is a eudir switch in configure to work around this problem. This is a kind of 'wont fix' bug in the Installer. This is the way the admins wanted it. I say, set your EUDIR variable post install. It will solve [edit] a lot of problems.
Forked into: Obsolete EUDIR!
23. Re: Building eu40.4 question
- Posted by EUWX Nov 29, 2012
- 2565 views
For various things to work EUDIR must be set appropriately. Although there is a eudir switch in configure to work around this problem. This is a kind of 'wont fix' bug in the Installer. This is the way the admins wanted it. I say, set your EUDIR variable post install. It will solve [edit] a lot of problems.
Forked into: Obsolete EUDIR!
I am quite used to going into (in Win XP) Start/Control Panel/System/Advanced/Environment variables and checking changing various parameters manually.
24. Re: Building eu40.4 question
- Posted by EUWX Nov 30, 2012
- 2528 views
I got the 4.0.5 source to compile under Watcom.
In a few I few places, it did not find
c:\euphoria\source\main-.h
c:\euphoria\source\main-.c
c:\euphoria\source\init-.c
wmake -f makefile.wat test went though with a very few failures.
These are messages like
You may now run t_memory-bound.exe
You may now run t_msgbox-bound.exe
but I did not find the exe files anywhere.
I matter of some concern is that the generated file sizes are much bigger than the downloaded files.
generated eui.exe is 1867 KB, where as the actual one supplied by the installed version is 505 KB
generated euiw.exe is also 1867 KB, where as the actual one supplied by the installed version is 505 KB
and so on.
euphoria\source\build library is fill on object files in 3-4 folders.
I looked at another download I have of a eubin, and that also showed larger files. Is that due to difference of compilers?
Next I tried to execute
wmake -f makefile.wat install
It refused to proceed because there was overwriting involved over existing files in euphoria
I still do not know exactly how to proceed with the GCC compile, but I will have a go tomorrow, after I clear my headache generated by Watcom.