1. Building Euphoria -- what am I missing?

Okay, so I'm taking the plunge.

Either I'm missing something or the instructions are not as clear as they should
be. I'm betting on the former, but...

Anyway, I read the readme file and it says in order to build everything then run
build.bat. I do that and it chokes on the fact that I don't have djgpp installed.
So I install it. (I already have OpenWatcom 1.6 and lccwin32 installed...). Then
it says that it can't find allegro. So I download that from the djgpp site. No
luck.

The readme also says that in order to build exw for watcom, run imakew.bat. So I
try that, and I still get errors.

Here's the output:

translating the front end for Windows...
The system cannot find the path specified.
compiling the front-end files...
Unable to open 'main-.c'
Unable to open 'main-0.c'
Unable to open 'pathopen.c'
Unable to open 'init-.c'
Unable to open 'int.c'
Unable to open 'file.c'
Unable to open 'error.c'
Unable to open 'machine.c'
Unable to open 'symtab.c'
Unable to open 'scanner.c'
Unable to open 'scanne_0.c'
Unable to open 'emit.c'
Unable to open 'emit_0.c'
Unable to open 'emit_1.c'
Unable to open 'parser.c'
Unable to open 'parser_0.c'
Unable to open 'parser_1.c'
Unable to open 'backend.c'
Unable to open 'compress.c'
Unable to open 'main.c'
compiling the back-end files...

(plus a lot of linker errors 'cause it can't find the *.obj files)

I'm sure that I'm missing a step... I just don't know what it is. Do I have to
run the translator on something first? All that I want to do is get exw and exwc
built for Windows. I don't really care about ex. Am I just a dummy and missing
one of the docs?

I haven't even tried on Linux yet.

BTW, this is the latest svn version. I've never tried to build Euphoria before.

Oh, and I'm running this from the source directory.

Watcom environment variables are set.

--
"Any programming problem can be solved by adding a level of indirection."
--anonymous
"Any performance problem can be solved by removing a level of indirection."
--M. Haertel
"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare
j.

new topic     » topic index » view message » categorize

2. Re: Building Euphoria -- what am I missing?

Okay, building for Linux the same version.

First, my shell choked on the the line terminations. I had to use tr to get rid
of them. It took me a bit to figure out what was going on...

Then I got a bunch of undeclared errors in main-.c, machine.c, pathopen.c,
backend.c, and compress.c.

I didn't think that I was such a noob, but still.

Using Ubuntu 7.04, gcc 4.1.2, Euphoria 3.1.1 trunk.

--
"Any programming problem can be solved by adding a level of indirection."
--anonymous
"Any performance problem can be solved by removing a level of indirection."
--M. Haertel
"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare
j.

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

3. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> 
> Okay, so I'm taking the plunge.
> 
> Either I'm missing something or the instructions are not as clear as they
> should
> be. I'm betting on the former, but...
> 
> Anyway, I read the readme file and it says in order to build everything then
> run build.bat. I do that and it chokes on the fact that I don't have djgpp
> installed.
> So I install it. (I already have OpenWatcom 1.6 and lccwin32 installed...).
> Then it says that it can't find allegro. So I download that from the djgpp
> site.
> No luck.
> 
> The readme also says that in order to build exw for watcom, run imakew.bat.
> So I try that, and I still get errors. 
> 
> Here's the output:
> 
> translating the front end for Windows...
> The system cannot find the path specified.
> compiling the front-end files...
> Unable to open 'main-.c'
> Unable to open 'main-0.c'
> Unable to open 'pathopen.c'
> Unable to open 'init-.c'
> Unable to open 'int.c'
> Unable to open 'file.c'
> Unable to open 'error.c'
> Unable to open 'machine.c'
> Unable to open 'symtab.c'
> Unable to open 'scanner.c'
> Unable to open 'scanne_0.c'
> Unable to open 'emit.c'
> Unable to open 'emit_0.c'
> Unable to open 'emit_1.c'
> Unable to open 'parser.c'
> Unable to open 'parser_0.c'
> Unable to open 'parser_1.c'
> Unable to open 'backend.c'
> Unable to open 'compress.c'
> Unable to open 'main.c'
> compiling the back-end files...
> 
> (plus a lot of linker errors 'cause it can't find the *.obj files)
> 
> I'm sure that I'm missing a step... I just don't know what it is. Do I have
> to run the translator on something first? All that I want to do is get exw and
> exwc built for Windows. I don't really care about ex. Am I just a dummy and
> missing one of the docs?
> 
> I haven't even tried on Linux yet.
> 
> BTW, this is the latest svn version. I've never tried to build Euphoria
> before.
> 
> Oh, and I'm running this from the source directory.
> 
> Watcom environment variables are set.
> 
> --
> "Any programming problem can be solved by adding a level of indirection."
> --anonymous
> "Any performance problem can be solved by removing a level of indirection."
> --M. Haertel
> "Premature optimization is the root of all evil in programming."
> --C.A.R. Hoare
> j.

build.bat "builds everything" for RDS, like buildu . Use compiler specific
script files like imakew.bat (outputs exw.exe using the Watcom compiler).

Now, .bat files are for DOS/Windows, so small wonder they had issues under
Linux. On these systems, use the files without an extension instead.

CChris

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

4. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> 
> Okay, building for Linux the same version.
> 
> First, my shell choked on the the line terminations. I had to use tr to get
> rid of them. It took me a bit to figure out what was going on...
> 
> Then I got a bunch of undeclared errors in main-.c, machine.c, pathopen.c,
> backend.c,
> and compress.c.
> 
> I didn't think that I was such a noob, but still.
> 
> Using Ubuntu 7.04, gcc 4.1.2, Euphoria 3.1.1 trunk.

Try using the make files.  I believe that Rob's batch files, etc, are for
older versions of Watcom and gcc.  On windows:

> wmake -f makefile.wat interpreter=1

On linux:

$ make interpreter

Look at the makefiles for details on building the other binaries.

Matt

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

5. Re: Building Euphoria -- what am I missing?

CChris wrote:
> 
> build.bat "builds everything" for RDS, like buildu . Use compiler specific
> script
> files like imakew.bat (outputs exw.exe using the Watcom compiler).

Yes, I tried that.

> 
> Now, .bat files are for DOS/Windows, so small wonder they had issues under
> Linux.
> On these systems, use the files without an extension instead.
> 
> CChris

C'mon now! I understand the difference between a .bat file and a shell script!
:D

--
"Any programming problem can be solved by adding a level of indirection."
--anonymous
"Any performance problem can be solved by removing a level of indirection."
--M. Haertel
"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare
j.

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

6. Re: Building Euphoria -- what am I missing?

Matt Lewis wrote:
> 
> Jason Gade wrote:
> > 
> > Okay, building for Linux the same version.
> > 
> > First, my shell choked on the the line terminations. I had to use tr to get
> > rid of them. It took me a bit to figure out what was going on...
> > 
> > Then I got a bunch of undeclared errors in main-.c, machine.c, pathopen.c,
> > backend.c,
> > and compress.c.
> > 
> > I didn't think that I was such a noob, but still.
> > 
> > Using Ubuntu 7.04, gcc 4.1.2, Euphoria 3.1.1 trunk.
> 
> Try using the make files.  I believe that Rob's batch files, etc, are for
> older versions of Watcom and gcc.  On windows:
> 
> > wmake -f makefile.wat interpreter=1
> 
> On linux:
> 
> $ make interpreter
> 
> Look at the makefiles for details on building the other binaries.
> 
> Matt

Thanks, Matt. I'll try that.

Heh, unfortunately I'll be away from that computer for the weekend (a little
detail that I forgot about last night when I posted).

--
"Any programming problem can be solved by adding a level of indirection."
--anonymous
"Any performance problem can be solved by removing a level of indirection."
--M. Haertel
"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare
j.

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

7. Re: Building Euphoria -- what am I missing?

Matt Lewis wrote:
> Try using the make files.  I believe that Rob's batch files, etc, are for
> older versions of Watcom and gcc.  On windows:
> 
> > wmake -f makefile.wat interpreter=1
> 
> On linux:
> 
> $ make interpreter
> 
> Look at the makefiles for details on building the other binaries.
> 
> Matt

Okay, next dumb question:
"make translator" on Linux or "wmake -f makefile.wat translator=1" on Windows
don't seem to work. Both Windows and Linux give me the error that ec.c does not
exist.

I made the interpreter first, and then I made the library. Any suggestions?

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Semantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

8. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> 
> Matt Lewis wrote:
> > Try using the make files.  I believe that Rob's batch files, etc, are for
> > older versions of Watcom and gcc.  On windows:
> > 
> > > wmake -f makefile.wat interpreter=1
> > 
> > On linux:
> > 
> > $ make interpreter
> > 
> > Look at the makefiles for details on building the other binaries.
> > 
> > Matt
> 
> Okay, next dumb question:
> "make translator" on Linux or "wmake -f makefile.wat translator=1" on Windows
> don't seem to work. Both Windows and Linux give me the error that ec.c does
> not exist.
> 
> I made the interpreter first, and then I made the library. Any suggestions?

Between making any of the binaries, you have to "make clean":

$ make clean

> wmake -f makefile.wat clean

The reason for this is because the makefile has to detect when to run the
translator by looking at the euphoria source files.  But when you make the
various binaries, it can't detect that it needs to retranslate the euphoria
code.  This seems like a hassle, but if you're doing stuff with the backend,
it makes development a lot easier, since it will only have to recompile
the files that you've modified.  But since none of the euphoria code has
been modified, you have to clean the make to get it to retranslate, because
hte main-* files will all be different, as will some of the others, just
based on the code itself.

Matt

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

9. Re: Building Euphoria -- what am I missing?

Matt Lewis wrote:
> 
> Jason Gade wrote:
> > 
> > Matt Lewis wrote:
> > > Try using the make files.  I believe that Rob's batch files, etc, are for
> > > older versions of Watcom and gcc.  On windows:
> > > 
> > > > wmake -f makefile.wat interpreter=1
> > > 
> > > On linux:
> > > 
> > > $ make interpreter
> > > 
> > > Look at the makefiles for details on building the other binaries.
> > > 
> > > Matt
> > 
> > Okay, next dumb question:
> > "make translator" on Linux or "wmake -f makefile.wat translator=1" on
> > Windows
> > don't seem to work. Both Windows and Linux give me the error that ec.c does
> > not exist.
> > 
> > I made the interpreter first, and then I made the library. Any suggestions?
> 
> Between making any of the binaries, you have to "make clean":
> 
> $ make clean
> 
> > wmake -f makefile.wat clean
> 
> The reason for this is because the makefile has to detect when to run the
> translator by looking at the euphoria source files.  But when you make the
> various binaries, it can't detect that it needs to retranslate the euphoria
> code.  This seems like a hassle, but if you're doing stuff with the backend,
> it makes development a lot easier, since it will only have to recompile
> the files that you've modified.  But since none of the euphoria code has
> been modified, you have to clean the make to get it to retranslate, because
> hte main-* files will all be different, as will some of the others, just
> based on the code itself.
> 
> Matt

Okay, tried that under Windows and it didn't work. I noticed that "wmake -f
makefile.wat interpreter=1" only makes exwc.exe. No exw. Translator still fails.
I still need to check Linux and see whether any executables were made.

Hmm. Just exu.

wmake -f makefile.wat library and make library makes ecw.lib and ecu.a
respectively.

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

10. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> 
> Okay, tried that under Windows and it didn't work. I noticed that "wmake -f
> makefile.wat interpreter=1" only makes exwc.exe. No exw. Translator still
> fails.
> I still need to check Linux and see whether any executables were made.

What happens when you run:

> wmake -f makefile.wat clean && wmake -f makefile.wat translator=1

Yes, it only makes exwc.exe right now, because that's all I really ever 
use (and no one else seems to use the makefiles right now).  It's been 
on my todo list to make both...

> Hmm. Just exu.

Again, try

$ make clean translator

$ make clean library

The GNU make syntax is easier for me, and that's why the command line 
syntax is slightly different.
 
Matt

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

11. Re: Building Euphoria -- what am I missing?

Matt Lewis wrote:
> 
> Jason Gade wrote:
> > 
> > Okay, tried that under Windows and it didn't work. I noticed that "wmake -f
> > makefile.wat interpreter=1" only makes exwc.exe. No exw. Translator still
> > fails.
> > I still need to check Linux and see whether any executables were made.
> 
> What happens when you run:
> 
> > wmake -f makefile.wat clean && wmake -f makefile.wat translator=1

I'll try it tonight and let you know.

> 
> Yes, it only makes exwc.exe right now, because that's all I really ever 
> use (and no one else seems to use the makefiles right now).  It's been 
> on my todo list to make both...

Well, can the makefile call makecon.exw in the bin directory? Or make a Euphoria
program that is the reverse of makecon.exw? I pretty much just use exwc as well
but if I'm testing stuff it would be nice to be complete.

> 
> > Hmm. Just exu.
> 
> Again, try
> 
> $ make clean translator
> 
> $ make clean library
> 
> The GNU make syntax is easier for me, and that's why the command line 
> syntax is slightly different.
>  
> Matt

Alright. Also I believe that make has a command line switch that can trace a
makefile instead of executing it. I might try that if I still experience
problems.

Thanks again for the help.

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

12. Re: Building Euphoria -- what am I missing?

Matt Lewis wrote:
> What happens when you run:
> 
> > wmake -f makefile.wat clean && wmake -f makefile.wat translator=1
> 
> Yes, it only makes exwc.exe right now, because that's all I really ever 
> use (and no one else seems to use the makefiles right now).  It's been 
> on my todo list to make both...
> 
> > Hmm. Just exu.
> 
> Again, try
> 
> $ make clean translator
> 
> $ make clean library
> 
> The GNU make syntax is easier for me, and that's why the command line 
> syntax is slightly different.
>  
> Matt

Windows made exwc.exe using that command line, but I didn't test the program.
Linux made ecu, but it didn't seem to work -- I either got compiler errors when
running emake or it wouldn't open *.ex files.

It worked when I did both...

Okay, I made both translator and library and moved them to bin. It seemed to
work on a couple of programs in the demo directory, even the one ending in .ex.
Windows still didn't seem to do the right thing, though.

And I notice that "clean" doesn't really. And maybe "library" and "ec*" should
depend on one another.

I'll work on this when I get back from vacation -- no one else seems to be
having problems. I don't want to bug you any more with it -- I can read docs as
well as anyone and I can probably figure out how to write a makefile.

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

13. Re: Building Euphoria -- what am I missing?

Okay in Windows I deleted all non-svn files manually and did "wmake /f
makefile.wat translator=1" made ecw.exe. Not tested yet...

Made the library and copied both ecw.exe and ecw.lib to $EUDIR.bin

Gah! No, it's broken. The executable gives me a memory error when trying to
translate tree.ex or sanity.ex.

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

14. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> 
> Matt Lewis wrote:
> > What happens when you run:
> > 
> > > wmake -f makefile.wat clean && wmake -f makefile.wat translator=1
> > 
> > Yes, it only makes exwc.exe right now, because that's all I really ever 
> > use (and no one else seems to use the makefiles right now).  It's been 
> > on my todo list to make both...
> > 
> > > Hmm. Just exu.
> > 
> > Again, try
> > 
> > $ make clean translator
> > 
> > $ make clean library
> > 
> > The GNU make syntax is easier for me, and that's why the command line 
> > syntax is slightly different.
> >  
> > Matt
> 
> Windows made exwc.exe using that command line, but I didn't test the program.
> Linux made ecu, but it didn't seem to work -- I either got compiler errors
> when
> running emake or it wouldn't open *.ex files.
> 
> It worked when I did both...
> 
> Okay, I made both translator and library and moved them to bin. It seemed to
> work on a couple of programs in the demo directory, even the one ending in
> .ex.
> Windows still didn't seem to do the right thing, though.
> 
> And I notice that "clean" doesn't really. And maybe "library" and "ec*" should
> depend on one another.
> 
> I'll work on this when I get back from vacation -- no one else seems to be
> having
> problems.

Jason, I don't have such problems ... because I never tried to do what you
are doing. smile If I would do so, I'm pretty sure that I'd have similar
problems. The main reason probably is that I'm not a C programmer.

Regards,
   Juergen

> I don't want to bug you any more with it -- I can read docs as well
> as anyone and I can probably figure out how to write a makefile.
> 
> --
> A complex system that works is invariably found to have evolved from a simple
> system that works.
> --John Gall's 15th law of Systemantics.
> 
> "Premature optimization is the root of all evil in programming."
> --C.A.R. Hoare
> 
> j.

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

15. Re: Building Euphoria -- what am I missing?

Juergen Luethje wrote:
> 
> Jason, I don't have such problems ... because I never tried to do what you
> are doing. smile If I would do so, I'm pretty sure that I'd have similar
> problems. The main reason probably is that I'm not a C programmer.
> 
> Regards,
>    Juergen

smile
Well, you shouldn't have to be a C programmer to build from source...

But it's all part of the learning experience.

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

16. Re: Building Euphoria -- what am I missing?

Okay, so tonight I'm working with build.bat and its subordinate batch files
under Windows. I've had to edit a few files and I've *almost* got it working.

I'd like to submit my edits to svn -- I don't know if I have permission. The
changed files I need to submit are:

backend.ex -- added definition of global sequence file_include from global.e, I
was getting an undefined error.

bmakew.bat and watlibw.bat -- added /dEOW for Open Watcom because I was getting
caught up in the matherr definition issue.

In build.bat I just remmed out the lines that I didn't want for compilers I
don't use and for the DOS stuff. I can add a comment concerning doing this to
readme if you want.

The last error that I am dealing with is in the link step for bmakew.bat. The
linker gives me a warning about graphics.lib (expected) but then errors out
because there's an undefined reference in main-.obj called _6upper_.

Any suggestions? I've almost got it working for Windows. Well, compiling anyway.

Note: I do plan on working on the makefiles in a couple of weeks, and I was
playing a bit with Digital Mars C compiler as well. No deadlines, though!

Now, on to Linux!

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

17. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> Okay, so tonight I'm working with build.bat and its subordinate batch files
> under Windows. I've had to edit a few files and I've *almost* got it working.
> 
> I'd like to submit my edits to svn -- I don't know if I have permission. The
> changed files I need to submit are:

You need to set up a user id (free) at SourceForge.net

I'll add your id to the list of people who are 
allowed to check files in.

Currently we have:

christian cuvier  
Christopher K. Lester
Derek Parnell
Matt Lewis
Michael J. Sabal
Rob Craig

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

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

18. Re: Building Euphoria -- what am I missing?

Robert Craig wrote:
> 
> Jason Gade wrote:
> > Okay, so tonight I'm working with build.bat and its subordinate batch files
> > under Windows. I've had to edit a few files and I've *almost* got it
> > working.
> > 
> > I'd like to submit my edits to svn -- I don't know if I have permission. The
> > changed files I need to submit are:
> 
> You need to set up a user id (free) at SourceForge.net
> 
> I'll add your id to the list of people who are 
> allowed to check files in.
> 
> Currently we have:
> 
> christian cuvier  
> Christopher K. Lester
> Derek Parnell
> Matt Lewis
> Michael J. Sabal
> Rob Craig
> 
> Regards,
>    Rob Craig
>    Rapid Deployment Software
>    <a href="http://www.RapidEuphoria.com">http://www.RapidEuphoria.com</a>

Thanks, I've got one -- it's jaygade. I signed up a week or so ago so I could
help with Euphoria and wxEuphoria.

--
A complex system that works is invariably found to have evolved from a simple
system that works.
--John Gall's 15th law of Systemantics.

"Premature optimization is the root of all evil in programming."
--C.A.R. Hoare

j.

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

19. Re: Building Euphoria -- what am I missing?

Jason Gade wrote:
> Thanks, I've got one -- it's jaygade. I signed up a week or so ago so I could
> help with Euphoria and wxEuphoria.

OK. You now have permission to check stuff in.
Welcome to the club.  smile

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

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

Search



Quick Links

User menu

Not signed in.

Misc Menu