[M3devel] EXT:RE: [M3commit] CVS Update: cm3

Coleburn, Randy rcolebur at SCIRES.COM
Tue Sep 24 03:31:58 CEST 2013


Jay:

Re #1,
C:\cm3\Sandbox\cm3\scripts\dev\windows>cm3 -version
Critical Mass Modula-3 version d5.9.0
  last updated: 2010-07-21
  compiled: 2013-09-23 22:52:35
  configuration: C:\cm3\bin\cm3.cfg
  host: NT386
  target: NT386

Re #2, I was hoping to get my edition updated.

Re #3, I do a purge of the NT386 sandbox folders followed by a build/ship on each package, then at end of stage one I copy the new cm3.exe over the old one in the cm3\bin folder (as long as the stage build was successful).  In stage two, I do a purge of NT386 sandbox folders again followed by build/ship of each package, and eventually replace the cm3.exe if the stage is successful.  In stage three, I rebuild all packages following the same recipe.

I've used this process for years with success, but I've let my implementation on this computer stay backlevel on purpose for compatibility with a production environment I've had to support, but now it is time to get current.

Thanks for your help.

--Randy

From: jayk123 at hotmail.com [mailto:jayk123 at hotmail.com] On Behalf Of Jay K
Sent: Monday, September 23, 2013 7:58 PM
To: Coleburn, Randy; m3devel
Subject: EXT:RE: [M3devel] EXT:RE: [M3commit] CVS Update: cm3

Randy,

1) can you please tell me exactly what release of cm3 you are using so I can go through the bootstrap myself and fix everything?


2) OR, can you please install a newer release and try bootstrapping from that?
I uploaded new .msis last week or so.

3) What did you do between "stage 1" and "stage 2"?
In stage 1, you did build and ship, not just build, right?
And then you copied the new cm3.exe over top of the old?
 Or to a new install location, and use that for stage 2?

You cleaned everything after stage 1?


The whole process is subtle and needs to be done just right, very much by design and appropriate, but still somehow tricky to understand and explain.


There is a distinct lack of guaranteed compatibility between versions, again, deliberately, and again, a proper bootstrap works ok anyway. We should perhaps do better at version stamping some things though.



Thanks,
 - Jay

________________________________
From: rcolebur at SCIRES.COM<mailto:rcolebur at SCIRES.COM>
To: jay.krell at cornell.edu<mailto:jay.krell at cornell.edu>; m3devel at elegosoft.com<mailto:m3devel at elegosoft.com>
Subject: RE: [M3devel] EXT:RE: [M3commit] CVS Update: cm3
Date: Mon, 23 Sep 2013 23:03:01 +0000
Jay:

Thanks.  I've applied the edit you suggested and was able to finish the compile for mklib.

Do you want me to commit this change via CVS to the repository?

Now, that gets me thru stage #1 of the rebuild.

In stage #2, the packages and their order that I am attempting to compile are:
Packages to be processed:
------------------------
m3-win\import-libs
m3-sys\m3cc
m3-libs\m3core
m3-libs\libm3
m3-libs\sysutils
m3-sys\m3middle
m3-sys\m3objfile
m3-sys\m3linker
m3-sys\m3back
m3-sys\m3cggen
m3-sys\m3front
m3-sys\m3quake
m3-sys\cm3
m3-sys\m3cgcat
m3-sys\mklib
But, skipping packages: m3cc
---END-of-List---

Things go fine until I get to m3core.  I get an internal code generator error.  See error below:
--- processing package "m3-libs\m3core" ---
--- purging derived files from NT386 ---

--- cleaning NT386 ---

ignoring ..\src\m3overrides

--- building in NT386 ---

ignoring ..\src\m3overrides

new source -> compiling RTHooks.i3
new source -> compiling RT0.i3
new source -> compiling RuntimeError.i3
new source -> compiling WordRep.i3
new source -> compiling Word.i3
new source -> compiling RTException.i3
new source -> compiling RTHooks.m3
new source -> compiling RT0.m3
new source -> compiling Compiler.i3
new source -> compiling RuntimeError.m3
new source -> compiling Compiler.m3
new source -> compiling RTAllocator.i3
new source -> compiling RTType.i3
new source -> compiling RTHeapRep.i3
new source -> compiling FloatMode.i3
new source -> compiling RTThread.i3
new source -> compiling Scheduler.i3
new source -> compiling RTOS.i3
new source -> compiling RTMisc.i3
new source -> compiling Cstdlib.i3
new source -> compiling Cstddef.i3
new source -> compiling LongRep.i3
new source -> compiling Long.i3
new source -> compiling BasicCtypes.i3
new source -> compiling Ctypes.i3
new source -> compiling RTAllocCnts.i3
new source -> compiling RTAllocator.m3
"..\src\runtime\common\RTAllocator.m3", line 95: ** INTERNAL CG ERROR *** unable to find integer type? type=Word.32  s/o/a=8/416/64
"..\src\runtime\common\RTAllocator.m3", line 209: ** INTERNAL CG ERROR *** unable to find integer type?  type=Word.32  s/o/a=8/416/64
"..\src\runtime\common\RTAllocator.m3", line 231: ** INTERNAL CG ERROR *** unable to find integer type?  type=Word.32  s/o/a=8/416/64
"..\src\runtime\common\RTAllocator.m3", line 248: ** INTERNAL CG ERROR *** unable to find integer type?  type=Word.32  s/o/a=8/416/64
"..\src\runtime\common\RTAllocator.m3", line 270: ** INTERNAL CG ERROR *** unable to find integer type?  type=Word.32  s/o/a=8/416/64
"..\src\runtime\common\RTAllocator.m3", line 303: ** INTERNAL CG ERROR *** unable to find integer type?  type=Word.32  s/o/a=8/416/64
"..\src\runtime\common\RTAllocator.m3", line 324: ** INTERNAL CG ERROR *** unable to find integer type?  type=Word.32  s/o/a=8/416/64
7 errors encountered

Thanks for your continued help,
Randy Coleburn


From: jayk123 at hotmail.com<mailto:jayk123 at hotmail.com> [mailto:jayk123 at hotmail.com] On Behalf Of Jay K
Sent: Monday, September 23, 2013 5:48 PM
To: Coleburn, Randy; m3devel
Subject: EXT:RE: [M3devel] EXT:RE: [M3commit] CVS Update: cm3

Sorry, you are right I missed it.

I'll fix it tonight probably.


Here it is:
CONST IMAGE_FILE_MACHINE_AMD64 = 16_8664 (* from m3core/src/win32/winnt.i3 *)

and change "WinNT.IMAGE_FILE_MACHINE_AMD64" to just "IMAGE_FILE_MACHINE_AMD64".

 - Jay
________________________________
From: rcolebur at SCIRES.COM<mailto:rcolebur at SCIRES.COM>
To: jay.krell at cornell.edu<mailto:jay.krell at cornell.edu>; m3devel at elegosoft.com<mailto:m3devel at elegosoft.com>
Subject: RE: [M3devel] EXT:RE: [M3commit] CVS Update: cm3
Date: Mon, 23 Sep 2013 21:38:14 +0000
Jay:

My "m3-sys/mklib/src/Main.m3" is showing current wrt the HEAD branch in CVS.
CVS indicates there is no update for me to obtain.
My file is 850 lines in length.
Did you commit changes to this file?  If you did, they aren't coming thru for me.
So, the error persists:
"..\src\Main.m3", line 87: unknown qualification '.' (IMAGE_FILE_MACHINE_AMD64)
Please advise.

Thanks,
Randy Coleburn

From: jayk123 at hotmail.com<mailto:jayk123 at hotmail.com> [mailto:jayk123 at hotmail.com] On Behalf Of Jay K
Sent: Sunday, September 22, 2013 1:43 AM
To: Coleburn, Randy; m3devel
Subject: EXT:RE: [M3devel] EXT:RE: [M3commit] CVS Update: cm3

Right.
cvs upd m3-sys/mklib/src/Main.m3 should fix it.


I know the problem with the Python. It is dependent on newer cm3 that prints "host", rather than, I guess, the sniffing it used to do. I'm not sure I'll fix it. I have to go back and install the older versions and go through the workflow myself and then I can improve/fix it.


What does cm3 -version print?

  > or that my m3core is too old to be able to perform an upgrade


Most likely it will work. mklib I recall is last in the bootstrap phase, so you are 99.99% there.


 The system is written in itself. An excellent feature.
 There are always therefore these problems, and always we should probably gradually require a newer build.
 When there isn't a new enough native install, or any at all, a cross build is the solution.
 I have "crossed" countless times at this point and can vouch for its viability.
 We cannot/must not support arbitrarily old. For example, building from the old/stable 3.6 release is probably irrecovably broken by now. Because the system has gone so long with relatively little change, these aspects become hidden to most people and they consider it a problem/bug when they come up, when they are actually perfectly natural results of the system using itself, and incurring any changes.


 - Jay

________________________________
From: rcolebur at SCIRES.COM<mailto:rcolebur at SCIRES.COM>
To: jay.krell at cornell.edu<mailto:jay.krell at cornell.edu>; m3devel at elegosoft.com<mailto:m3devel at elegosoft.com>
Date: Sun, 22 Sep 2013 05:35:15 +0000
Subject: Re: [M3devel] EXT:RE: [M3commit] CVS Update: cm3
Based on your response, I guess that as soon as I can get this thing to build, my pkg tree will get updated with the newer Ctypes, but right now I'm stuck on this error in building mklib:

"..\src\Main.m3", line 87: unknown qualification '.' (IMAGE_FILE_MACHINE_AMD64)

In your prior response you stated, "I updated mklib to contain the definition itself instead of using m3core."

Does that mean you've fixed the problem, or that I have more work to do, or that my m3core is too old to be able to perform an upgrade?

I'm not able to use the python scripts due to the following error:
C:\cm3\Sandbox\cm3\scripts\python>upgrade.py
Traceback (most recent call last):
  File "C:\cm3\Sandbox\cm3\scripts\python\upgrade.py", line 4, in <module>
    import pylib
  File "C:\cm3\Sandbox\cm3\scripts\python\pylib.py", line 650, in <module>
    if Host.endswith("_NT") or Host == "NT386":
AttributeError: 'NoneType' object has no attribute 'endswith'

So, I'm working with my CMD files and doing stuff by hand.

--Randy Coleburn
________________________________
From: jayk123 at hotmail.com<mailto:jayk123 at hotmail.com> [jayk123 at hotmail.com] on behalf of Jay K [jay.krell at cornell.edu]
Sent: Sunday, September 22, 2013 1:14 AM
To: Coleburn, Randy; m3devel
Subject: EXT:RE: [M3devel] [M3commit] CVS Update: cm3
https://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/C/Common/Ctypes.i3


 - Jay

________________________________
From: jay.krell at cornell.edu<mailto:jay.krell at cornell.edu>
To: rcolebur at scires.com<mailto:rcolebur at scires.com>; m3devel at elegosoft.com<mailto:m3devel at elegosoft.com>
Date: Sun, 22 Sep 2013 05:03:17 +0000
Subject: Re: [M3devel] [M3commit] CVS Update: cm3
It is cm3/m3-libs/m3core/src/C/Common/Ctypes.i3 in the source tree or \cm3\pkg\m3core\NT386\Ctypes.i3 in an install.
In the first pass of upgrade, it comes from the install, so can be old..but how old?
After the first pass, it comes from the source tree.

 - Jay




________________________________
From: rcolebur at SCIRES.COM<mailto:rcolebur at SCIRES.COM>
To: jay.krell at cornell.edu<mailto:jay.krell at cornell.edu>; m3devel at elegosoft.com<mailto:m3devel at elegosoft.com>
Date: Sun, 22 Sep 2013 04:57:01 +0000
Subject: Re: [M3devel] [M3commit] CVS Update: cm3
Jay:

Where is the CTypes file coming from?
I've updated my entire Sandbox via CVS to be current with the head branch, so if CTypes is in there, what I have should be current.
If CTypes is coming from somewhere else, then please explain where and what I need to do in order to update.
The computer I'm using for this build is a 32-bit WinXP machine.  It has Visual Studio Express 2008 installed on it.

--Randy Coleburn

________________________________
From: jayk123 at hotmail.com<mailto:jayk123 at hotmail.com> [jayk123 at hotmail.com] on behalf of Jay K [jay.krell at cornell.edu]
Sent: Sunday, September 22, 2013 12:41 AM
To: m3devel; Coleburn, Randy
Subject: EXT:RE: [M3commit] CVS Update: cm3
Fyi, Your CTypes is over 5 years old. It predates Thu May 29 14:43:18 2008 .
I realize in this case, it is trivial to support older, but...

 - Jay
> Date: Sun, 22 Sep 2013 06:35:02 +0000
> To: m3commit at elegosoft.com<mailto:m3commit at elegosoft.com>
> From: rcoleburn at elego.de<mailto:rcoleburn at elego.de>
> Subject: [M3commit] CVS Update: cm3
>
> CVSROOT: /usr/cvs
> Changes by: rcoleburn at birch. 13/09/22 06:35:02
>
> Modified files:
> cm3/m3-sys/m3back/src/: M3CC.i3
>
> Log message:
> fix broken compilation, line 6, change "ctypes.unsigned" to be "ctypes.unsigned_int"
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130924/2213b1ef/attachment-0002.html>


More information about the M3devel mailing list