[M3devel] new problem on NT386

Randy Coleburn rcoleburn at scires.com
Wed Jan 23 18:31:16 CET 2008


Jay:
 
Reactor uses quake to invoke procedures that do the build, link, ship,
edit, start browser, etc.  The user can customize these quake
procedures, if needed.
 
The default procedures all cd to the package root.  The package should
contain a "src" folder and optionally, one or more target folders, e.g.
"NT386".  So, after cd to the package root, "cm3" is invoked to do the
build/clean/ship type work with the package root as the "current dir".
 
A writer is set up to capture the output of the quake calls and the
output of this writer is fed back into the browser window so the user
can see the progress of the compile/ship/clean/etc.
 
As for "&&" vs. "|", I am not a quake guru, but the pipe symbol has
worked in all versions of reactor on all platforms up to this point as a
command separator in the built-in quake exec() function call.
 
As for my cm3.cfg, it is the one that came from your MIN distribution
that I used to get started, with one exception.  There is a place early
in the file where INSTALL_ROOT = "c:\\cm3" is commented out.  If I run
reactor with cm3.cfg this way, it gets a runtime exception "array
subscript out of range" in module M3Path.m3 at line 410.  So, I
un-commented this line and reactor runs without the error, but alas it
is having the other aforementioned problems.
 
I have attached the cm3.cfg file that I use in the v5.2.6 tests as
cm3.cfg.526
I have attached the cm3.cfg file that I use in the vd5.5.1 tests as
cm3.cfg.d551
 
You should note that Reactor was written by Critical Mass for v4.1 and
they had a deep understanding of the system.  If the underlying system
changes in a way that breaks some deep understanding reliance on the
v4.1 architecture, reactor will most likely misbehave.
 
At this point I don't think I am at liberty to give you the source code
to look at.  My agreement with the Critical Mass license holders is that
I had to make certain changes before releasing the code.  
 
As for the cm3.cfg at m3-sys\cminstall\src\config\nt386, I took a look
at it.  It seems to include a NT386.common file.  I have not tried this
variant yet.  If I need to try it, let me know.  And, do I have to copy
NT386 to cm3\bin as cm3.cfg and then also copy the NT386.common file to
cm3\bin?
 
There seems to be a lot of stuff going on under the covers that I don't
understand about finding locations for things.  I see code in reactor
where it tries to locate certain things.  It seems the cm3.exe is doing
similar stuff.  I always thought that the cm3.cfg that was in the
INSTALL_ROOT bin folder is the one that rules.  Let me know if this is
not the case.
 
Regards,
Randy

>>> Jay <jayk123 at hotmail.com> 1/23/2008 7:37 AM >>>
Oops good point Olaf.
Yes && works with cmd.
If the first command succeeds, the second is run.
Succeeds as in exit code is 0.
 
I assume "pkg" contained "enough content to make it work", but if
indeed it is a directory, no go.
I wasn't really reading the content oops sorry.
 
But yet Randy said it worked with 5.2.6.
 
Randy, you reminded me of a good point though.
Upgrade.py plays a new game with config files, one which I like so far,
but maybe isn't so great.
I don't remember if I updated upgrade.cmd to this new model.
In either case, to remove variables, to remove changes, look at your
cm3.cfg.
Read it a bit. Is it a stub that looks for another config file to
include?
If so, undo that on your machine. Find the other file, it is
cvsroot\m3-sys\cminstall\src\config\nt386, and copy that over
\cm3\bin\cm3.cfg, and try again.
 
In either case I'm sure this is not a big deal....
Can you make the code available to me somehow?
I do need to get some real work done during the week(s) but the
weekend...
 
 - Jay


> Date: Wed, 23 Jan 2008 12:39:37 +0100
> From: wagner at elegosoft.com 
> To: m3devel at elegosoft.com 
> Subject: Re: [M3devel] new problem on NT386
> 
> Quoting Randy Coleburn <rcoleburn at scires.com>:
> 
> > OK, scratch what I said in my prior message about the "cd" not 
> > working. I ran some more tests and I'm not sure anymore.
> >
> > Jay, what has changed in the way quake, cm3, and cm3.cfg interact 
> > since v5.2.6?
> >
> > What I am seeing is that when Reactor is built using the current 
> > cm3, the output that should be going to the web browser is instead

> > going to the console log. This is strange. The same exact code 
> > compiled under 5.2.6 works correctly (output goes to browser).
> >
> > Also, there are some strange differences in the output and the 
> > results are different. Not only are the results different, they are

> > wrong under the new system, while they are correct under 5.2.6. 
> > Indeed, the build operation on the new system does not even find
the 
> > correct package.
> >
> > Reactor is written in Modula-3, but it does use some quake helper 
> > functions. Here are the quake sources that Reactor is using for the

> > clean and build procedures:
> >
> > proc clean_package (pkg) is
> > exec ("cd", pkg, "| cm3 -verbose -clean")
> > end
> > proc build_package (pkg, options) is
> > exec ("cd", pkg, "| cm3 -verbose", options)
> > end
> > As you can see, I've turned on the -verbose cm3 option to make the

> > differences clear.
> 
> I don't understand these: | is the pipe symbol even for cmd.exe,
isn't
> it?
> 
> Shouldn't these commands just read `cd pkg && cm3 -verbose ...'?
> 
> && should work for /bin/sh as well as for cme.exe, IIRC.
> 
> Olaf
> -- 
> Olaf Wagner -- elego Software Solutions GmbH
> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45
86 95
> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz:
Berlin
> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr:
DE163214194
> 


Helping your favorite cause is as easy as instant messaging. You IM, we
give. Learn more. (
http://im.live.com/Messenger/IM/Home/?source=text_hotmail_join ) 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080123/8d44f35b/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cm3.cfg.526
Type: application/octet-stream
Size: 14465 bytes
Desc: not available
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080123/8d44f35b/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cm3.cfg.d551
Type: application/octet-stream
Size: 18873 bytes
Desc: not available
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080123/8d44f35b/attachment-0005.obj>


More information about the M3devel mailing list