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

Coleburn, Randy rcolebur at SCIRES.COM
Tue Sep 24 03:48:57 CEST 2013


Rodney:

For this situation, I'm compiling on an old 32-bit Windows XP computer targeting NT386.  
The computer has Microsoft Visual Studio 2008 Express installed (needed for the linker and the C compiler).
Thus, I am running the integrated backend, I believe.

I've kept this computer backlevel from the HEAD branch for quite some time because I had to maintain exact synchronization with the build environment for some stuff I've been supporting in production.

That support requirement has gone away, so I want to update to the latest (and greatest?) compiler and sources.  My sandbox is now current wrt the HEAD branch via CVS.

I've succeeded in making it thru the first stage of the compiler rebuild process, but now in stage #2 I get the error that I reported.

In the past, I've always been able to update via CVS then rebuild everything, but perhaps I've waited too long in this case, or maybe I've uncovered some bug(s).

After I get things working on this 32-bit XP machine (see I'm trying to be optimistic), I plan to update on a 64-bit Windows7 computer.  I'm not sure though if I can start with my 32-bit implementation and simply rebuild on the 64-bit machine to bump up to 64-bit binaries, or if more adjustment or a different approach is required.

Thanks for your insight and help!

Thanks,
Randy Coleburn

-----Original Message-----
From: Rodney M. Bates [mailto:rodney_bates at lcwb.coop] 
Sent: Monday, September 23, 2013 9:32 PM
To: m3devel at elegosoft.com
Subject: EXT:Re: [M3devel] EXT:RE: [M3commit] CVS Update: cm3

Hmm, I'm looking at this.  I recently committed a compiler front-end change that made this error go away, for different cases.  It's in m3-sys/m3front/src/misc/CG.m3, version
1.15.2.5 in the release and 1.43 in the head. Are you compiling with one of these?

I reread it, and my change still looks right to me.  The message helpfully gives important information, and ScanTypes seems to be being asked to find an unsigned integer code-generator type that has alignment at least 64, but fits in a 32-bit word.  And this for a global variable of type BOOLEAN and size 8 (bits).  So the 64-bit alignment request doesn't seem sensible.  I can't guess where the 32-bit requirement would have come from.  Is it a 32-bit target you are compiling for?

RTAllocator.m3 compiles fine on my AMD64_LINUX machine.



On 09/23/2013 06:03 PM, Coleburn, Randy wrote:
> 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] *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"
>>
>




More information about the M3devel mailing list