1. source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 10, 2009
- 1091 views
When I am building binaries on XP I use a cmd batch file.
While running the batch file I get the following error message.
16 bit MS-DOS Subsystem
C:\WINDOWS\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0460 IP:fcf6 OP:f0 66 8b Choose 'Close' to terminate the application.
Close Ignore
This error does not happen on SVN1298 or any lower SVN.
The only difference between SVN1298 and SVN1299 -> SVN13xx is the following.
Revision: 1299
Author: springle
Date: 5:29:34 PM, Wednesday, December 31, 2008
Message:
Uses svnversion to update rev.e if it is available.
Otherwise, it continues and determines the version as before
(by parsing the Administration area)...
--
Modified : /trunk/source/revget.ex
Bernie
2. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 10, 2009
- 1028 views
svnreversion is probably a windows program, so we are trying to call a windows console application from inside of a MS-DOS program that is using a 32bit extender inside of the 16bit MS-DOS Subsystem. As complicated as that sounds, I'd normally expect this to work.
Bernie, if you copy the 1298 revget.ex over the SVN13xx's revget.ex and then attempt the build, does this fix the crash?
When I am building binaries on XP I use a cmd batch file.
While running the batch file I get the following error message.
16 bit MS-DOS Subsystem
C:\WINDOWS\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0460 IP:fcf6 OP:f0 66 8b Choose 'Close' to terminate the application.
Close Ignore
This error does not happen on SVN1298 or any lower SVN.
The only difference between SVN1298 and SVN1299 -> SVN13xx is the following.
Revision: 1299
Author: springle
Date: 5:29:34 PM, Wednesday, December 31, 2008
Message:
Uses svnversion to update rev.e if it is available.
Otherwise, it continues and determines the version as before
(by parsing the Administration area)...
--
Modified : /trunk/source/revget.ex
Bernie
3. Re: source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 10, 2009
- 1018 views
svnreversion is probably a windows program, so we are trying to call a windows console application from inside of a MS-DOS program that is using a 32bit extender inside of the 16bit MS-DOS Subsystem. As complicated as that sounds, I'd normally expect this to work.
Bernie, if you copy the 1298 revget.ex over the SVN13xx's revget.ex and then attempt the build, does this fix the crash?
When I am building binaries on XP I use a cmd batch file.
While running the batch file I get the following error message.
16 bit MS-DOS Subsystem
C:\WINDOWS\system32\cmd.exe
The NTVDM CPU has encountered an illegal instruction.
CS:0460 IP:fcf6 OP:f0 66 8b Choose 'Close' to terminate the application.
Close Ignore
This error does not happen on SVN1298 or any lower SVN.
The only difference between SVN1298 and SVN1299 -> SVN13xx is the following.
Revision: 1299
Author: springle
Date: 5:29:34 PM, Wednesday, December 31, 2008
Message:
Uses svnversion to update rev.e if it is available.
Otherwise, it continues and determines the version as before
(by parsing the Administration area)...
--
Modified : /trunk/source/revget.ex
Bernie
Jim
I move SVN1297's revget.ex over ( because I had that file ) and the
problem goes away.
4. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 10, 2009
- 1024 views
Jim
I move SVN1297's revget.ex over ( because I had that file ) and the
problem goes away.
Probably, revget.ex should be run with exwc.exe always when running on windows (even when making rev.e for the DOS version), but it needs to work on pure DOS also.
Maybe we should take away the use of svnversion in revget.ex - that seems like the easiest solution, but the capability to use svnversion was added for a good reason.
5. Re: source from svn1299 on; is broken when compiling on XP
- Posted by mattlewis (admin) Jan 10, 2009
- 1027 views
Probably, revget.ex should be run with exwc.exe always when running on windows (even when making rev.e for the DOS version), but it needs to work on pure DOS also.
Maybe we should take away the use of svnversion in revget.ex - that seems like the easiest solution, but the capability to use svnversion was added for a good reason.
I don't know what the solution is, but I don't think we just get rid of useful things like reading the svn info for the sake of DOS. I'd rather make it awkward to build DOS, at least with accurate svn info.
Matt
6. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 10, 2009
- 1031 views
I don't know what the solution is, but I don't think we just get rid of useful things like reading the svn info for the sake of DOS. I'd rather make it awkward to build DOS, at least with accurate svn info.
Matt
Agreed. Both the old version and current version of revget.ex had the ability to read directly from .svn to obtain the version from inside of DOS, so we can still build DOS with accurate svn info at any rate.
As far as I know, there is no version of svn explicitly for DOS, so maybe the best thing to do is to ifdef out the call to svnversion when we're building on DOS.
7. Re: source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 10, 2009
- 1016 views
Jim and Matt:
Why all the complication of revget.ex ??
Couldn't that all be done by setting a environment varable
from the makefiles and batch files ??
Environment variables work on any OS.
8. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 10, 2009
- 1014 views
IMVHO, it would be a major pita to have to do a
set EU_SVN_REVISION=1399
(or etc) everytime before building.
Jim and Matt:
Why all the complication of revget.ex ??
Couldn't that all be done by setting a environment varable
from the makefiles and batch files ??
Environment variables work on any OS.
9. Re: source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 10, 2009
- 1039 views
IMVHO, it would be a major pita to have to do a
set EU_SVN_REVISION=1399
(or etc) everytime before building.
Jim and Matt:
Why all the complication of revget.ex ??
Couldn't that all be done by setting a environment varable
from the makefiles and batch files ??
Environment variables work on any OS.
Jim where does the present system get the 1399 from now ??
10. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 10, 2009
- 1055 views
Jim where does the present system get the 1399 from now ??
If you have the program installed, it runs svnversion.exe to obtain the version number; otherwise it obtains it by reading .svn/entries directly.
11. Re: source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 10, 2009
- 1035 views
Jim where does the present system get the 1399 from now ??
If you have the program installed, it runs svnversion.exe to obtain the version number; otherwise it obtains it by reading .svn/entries directly.
It looks as if you can open the .svn/entries file as a text file.
read in the forth line set an environment variable and close the file.
at the beginning of a makefile or batch file.
12. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 10, 2009
- 1045 views
It looks as if you can open the .svn/entries file as a text file.
read in the forth line set an environment variable and close the file.
at the beginning of a makefile or batch file.
It's more complicated than that (there are multiple numbers and we kind of have to guess which one is the correct one; svn 1.3 uses an xml format instead of the binary format that 1.4 uses). But, ditching svnversion support (at least for DOS) seems like the right way to go.
I just committed this, does revget.ex from svn 1323 work?
13. Re: source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 10, 2009
- 1038 views
It looks as if you can open the .svn/entries file as a text file.
read in the forth line set an environment variable and close the file.
at the beginning of a makefile or batch file.
It's more complicated than that (there are multiple numbers and we kind of have to guess which one is the correct one; svn 1.3 uses an xml format instead of the binary format that 1.4 uses). But, ditching svnversion support (at least for DOS) seems like the right way to go.
I just committed this, does revget.ex from svn 1323 work?
Good Job !
Everything works ok with SVN1323
Thanks for your help !
Bernie
14. Re: source from svn1299 on; is broken when compiling on XP
- Posted by SDPringle Jan 11, 2009
- 1041 views
I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.
Shawn Pringle
15. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 11, 2009
- 1012 views
I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.
Shawn Pringle
Could the interaction between DEP and DOS be a possible culprit here?
16. Re: source from svn1299 on; is broken when compiling on XP
- Posted by bernie Jan 11, 2009
- 1085 views
I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.
Shawn Pringle
Could the interaction between DEP and DOS be a possible culprit here?
Jim:
DEP probably just works for 32-bit applications.
CMD.exe is a 16-bit emulation if you notice in the error msg I posted.
Bernie
17. Re: source from svn1299 on; is broken when compiling on XP
- Posted by jimcbrown (admin) Jan 11, 2009
- 1027 views
I couldn't reproduce this problem on my system. Strangely, at least on my system, the call to system( subversion..>rev.dat, 0 ) doesn't create the rev.dat file on DOS whereas it does on Windows. svnversion's directory is in my path.
Shawn Pringle
Could the interaction between DEP and DOS be a possible culprit here?
Jim:
DEP probably just works for 32-bit applications.
CMD.exe is a 16-bit emulation if you notice in the error msg I posted.
Bernie
ex.exe is a 32bit DOS application that runs on top of the 16bit DOS layer (in turn running on top of a 32bit windows console program, sort of), whether DEP is smart enough to make ex.exe work or if it breaks some DOS apps is something I have no experience with. I remember one other person on this forum stating that DEP did break ex.exe in some cases (esp when using graphics), however.