1. langwars - eu4.0 causeway prob (sorry)
- Posted by ChrisB (moderator) Dec 01, 2008
- 1263 views
Hi
You're going to love this!
I've uploaded a zip of the modified langwar files to
http://www.box.net/shared/lvc5e8k5h0
I got to the startup screen, pressed enter to enjoy a session of c ship destruction, and was then promptly chucked out to the command line, with lots of causeway probs.
Anybody any ideas?
Chris
2. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by ChrisB (moderator) Dec 01, 2008
- 1183 views
Hi
Naturally I tried SAFE at the top of lw.ex, and got
C:\EUPHORIA\include\std/filesys.e:348 A namespace qualifier is needed to resolve 'allocate_string' because 'allocate_string' is declared as a global/public symbol in: C:\EUPHORIA\include\std\memory.e C:\EUPHORIA\include\std\safe.e pname = allocate_string(dir_name)
How do I resolve that? If I start messing with the std lib, will it still be std - or just another random collection of used to be fairly std ish libs?
relevant code
with define SAFE public include std.e public include std/machine.e public include std/error.e public include std/console.e public include std/types.e .......
Really really sorry
Chris
3. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by DerekParnell (admin) Dec 01, 2008
- 1155 views
- Last edited Dec 02, 2008
Hi
Naturally I tried SAFE at the top of lw.ex, and got
C:\EUPHORIA\include\std/filesys.e:348 A namespace qualifier is needed to resolve 'allocate_string' because 'allocate_string' is declared as a global/public symbol in: C:\EUPHORIA\include\std\memory.e C:\EUPHORIA\include\std\safe.e pname = allocate_string(dir_name)
How do I resolve that? If I start messing with the std lib, will it still be std - or just another random collection of used to be fairly std ish libs?
relevant code
with define SAFE public include std.e public include std/machine.e public include std/error.e public include std/console.e public include std/types.e .......
The use of 'std.e' is not recommended as it is a 'quick-and-dirty' workaround in those situations where one doesn't want to only use the required includes, as it includes everything - even those things you don't need. But anyhow, the problem is that std.e wrongly includes memory.e and one is not supposed to have both memory.e and safe.e in the same program.
The quick fix for you is to edit your copy of safe.e to remove the include of memory.e. I'll fix up the files in the SVN for a later release.
4. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by ChrisB (moderator) Dec 01, 2008
- 1188 views
- Last edited Dec 02, 2008
Hi
Hmm - safe.e does not include memory.e
Chris
5. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by ChrisB (moderator) Dec 01, 2008
- 1161 views
- Last edited Dec 02, 2008
ANd its filesys.e that includes memory.e, so presumably any user written program that says it wants to include safe.e (with define safe) and filesys.e will always run into this problem.
Chris
6. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by ChrisB (moderator) Dec 01, 2008
- 1174 views
- Last edited Dec 02, 2008
The use of 'std.e' is not recommended as it is a 'quick-and-dirty' workaround in those situations where one doesn't want to only use the required includes, as it includes everything - even those things you don't need.
Heh - thats what an alpha tester does - stuff you're not supposed to do!
Chris
7. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by DerekParnell (admin) Dec 01, 2008
- 1164 views
- Last edited Dec 02, 2008
Hmm - safe.e does not include memory.e
Who said it did?
8. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by DerekParnell (admin) Dec 01, 2008
- 1170 views
- Last edited Dec 02, 2008
ANd its filesys.e that includes memory.e, so presumably any user written program that says it wants to include safe.e (with define safe) and filesys.e will always run into this problem.
Yes. That's why I just fixed all the instances of 'include std/memory.e' to include 'std/machine.e' instead. Can you get the latest SVN copy or are you relying on the 'alpha' zips?
9. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by DerekParnell (admin) Dec 01, 2008
- 1178 views
- Last edited Dec 02, 2008
The use of 'std.e' is not recommended as it is a 'quick-and-dirty' workaround in those situations where one doesn't want to only use the required includes, as it includes everything - even those things you don't need.
Heh - thats what an alpha tester does - stuff you're not supposed to do!
I did not say "not supposed to use". I said "not recommended". Big difference.
10. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by DerekParnell (admin) Dec 01, 2008
- 1136 views
- Last edited Dec 02, 2008
I got to the startup screen, pressed enter to enjoy a session of c ship destruction, and was then promptly chucked out to the command line, with lots of causeway probs.
I've been trying to work through this and its proving to be very difficult. My guess so far is that the Euphoria tasking mechanism is not working well. In any case, something is corrupting memory as it runs. Finding the culprit is difficult because adding any form of tracing into the program changes the program and thus seems to change where the problem lies.
Maybe someone else has some insights????
11. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by mattlewis (admin) Dec 02, 2008
- 1135 views
I got to the startup screen, pressed enter to enjoy a session of c ship destruction, and was then promptly chucked out to the command line, with lots of causeway probs.
I've been trying to work through this and its proving to be very difficult. My guess so far is that the Euphoria tasking mechanism is not working well. In any case, something is corrupting memory as it runs. Finding the culprit is difficult because adding any form of tracing into the program changes the program and thus seems to change where the problem lies.
Maybe someone else has some insights????
The previous problems with tasking revolved around the temporary code buffer in
static int **code[3];
It could be that Causeway doesn't like however Watcom implements this. You might try moving the declaration to outside of the function.
Matt
12. Re: langwars - eu4.0 causeway prob (sorry)
- Posted by DerekParnell (admin) Dec 02, 2008
- 1169 views
You might try moving the declaration to outside of the function.
Didn't make any difference.
I don't know if its the tasking, that is only a guess. But memory is definitely being corrupted though. For example, in some of my tests, sequences that were constant turned into atoms!