[M3devel] python build problems

Jay K jay.krell at cornell.edu
Sun Sep 8 06:14:37 CEST 2013

1. I removed the Cstdint requirement, please try again. Sorry about that.
2. The order of the build is not defined by the list you show.
  That is an unordered set and it is passed through code to honor the pkginfo.txt information.
2b. Though it looks like upgrade.sh doesn't apply the ordering and just strives to get it right earlier, so you could refer to that. But the Python definitely takes unordered lists and applies the ordering from pkginfo.txt. Look for "Order" in pylib.py if carouse.
3. IF you hit the _xmm error before building mklib.. the workaround will be to bootstrap w/o shared libraries. You didn't report that, and there is code to avoid shared libraries with older tools.
 - Jay
From: jayk123 at hotmail.com
To: rcolebur at scires.com; m3devel at elegosoft.com
Date: Sun, 8 Sep 2013 03:54:41 +0000
Subject: Re: [M3devel] python build problems

 1. I'll remove the Cstdint dependency. That is in newer m3core. 
    But you are correctly using an older m3core for the bootstrap.
    Please give me a bit of time. Maybe tonight.
    Does your cm3 provide LONGINT? 

 2. The order is correct in pkginfo.txt.

 3. The problem wasn't the order but which you were building.
    You were missing mklib. You need a newer mklib
    to fix the "_xmm" problem. Look at upgrade.py or upgrade.sh closely.

 4. AttributeError: 'NoneType' object has no attribute 'startswith' 
   Probably due to an older cm3 that doesn't output host/target. 
   Maybe fixable with set CM3_TARGET=I386_NT or NT386 or such. 

 - Jay

From: rcolebur at SCIRES.COM
To: m3devel at elegosoft.com; jayk123 at hotmail.com
Subject: python build problems
Date: Sun, 8 Sep 2013 03:48:00 +0000


I'm still having lots of problems.

I installed python 2.7 on WinXP-32bit and tried upgrade.py against a working cm3 circa 2008.

I get the following error:

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 631, in <module>

    if Target.startswith("NT386"):

AttributeError: 'NoneType' object has no attribute 'startswith'

Looking at upgrade.py, it seems the first set of compilations is in the following order:

"import-libs", "m3bundle", "m3middle", "m3quake", "m3objfile",

                            "m3linker", "m3back", "m3front", "sysutils",

                            "cm3", "m3cggen", "mklib", "m3cgcat"

So, I tried to manually follow this order by cd to each folder, removing the NT386, running cm3, then cm3 -ship.  Things go well until I get to m3back, where I get the following error:


--- building in NT386 ---

ignoring ..\src\m3overrides

new source -> compiling TIntN.i3

new source -> compiling TIntN.m3

new source -> compiling TWordN.i3

new source -> compiling TWordN.m3

new source -> compiling M3x86.i3

new source -> compiling Wrx86.i3

new source -> compiling M3x86Rep.i3

new source -> compiling Codex86.i3

new source -> compiling Stackx86.i3

new source -> compiling M3x86.m3

new source -> compiling M3C.i3

new source -> compiling M3C.m3

"..\src\M3CC.i3", line 2: unable to find interface (Cstdint)

"..\src\M3CC.i3", line 4: undefined (Cstdint.int32_t)

"..\src\M3CC.i3", line 6: undefined (Cstdint.uint32_t)

3 errors encountered

new source -> compiling M3CC.i3

"..\src\M3CC.i3", line 2: unable to find interface (Cstdint)

1 error encountered

new source -> compiling Wrx86.m3

new source -> compiling Stackx86.m3

new source -> compiling Codex86.m3

new source -> compiling M3CC.c

new exporters -> recompiling M3C.i3

new exporters -> recompiling M3x86Rep.i3

compilation failed => not building library "m3back.lib"

Fatal Error: package build failed

Any suggestions on what to do?

I need to get a working cm3 on both WinXP and Win7 that is current with the HEAD branch.

BTW, it was my understanding that the compilation order was defined in "pkginfo.txt".  Has this changed, or is the file not up-to-date?  Reason I ask is that my RCC_upgradeCM3.cmd used to work fine and it bases the order on pkginfo.txt, yet you remarked in
 a previous post that I was leaving something out, plus it seems the order in upgrade.py doesn't match what you find in pkginfo.txt.  Please advise.


Randy Coleburn

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130908/46d49968/attachment-0002.html>

More information about the M3devel mailing list