[M3devel] python build problems

Coleburn, Randy rcolebur at SCIRES.COM
Sun Sep 8 06:23:48 CEST 2013


Jay:

Thanks for your help.

Re #3 below, if I put mklib back in, the order my script gets for the 1st step (front end) is:
     1. m3-win\import-libs
     2. m3-libs\sysutils
     3. m3-sys\m3middle
     4. m3-sys\m3objfile
     5. m3-sys\m3linker
     6. m3-sys\m3back
     7. m3-sys\m3cggen
     8. m3-sys\m3front
     9. m3-sys\m3quake
    10. m3-sys\cm3
    11. m3-sys\m3cgcat
    12. m3-sys\mklib

whereas, upgrade.py compiles the following in order for the 1st step (front end):
    1. "import-libs"
    2. "m3bundle"
    3. "m3middle"
    4. "m3quake"
    5. "m3objfile"
    6. "m3linker"
    7. "m3back"
    8. "m3front"
    9. "sysutils"
   10. "cm3"
   11. "m3cggen"
   12. "mklib"
   13. "m3cgcat"

If Re#2 you say the order in pkginfo.txt is correct, then my script must be interpreting something wrong if the order in upgrade.py is what should be used, or either you have some reason for doing it different in upgrade.py.  Please advise.

Re#4, are you saying I should try one of these "fixes" or is that something you plan to do?

Re#1, I'll hold off further work till you let me know.  Also, I'm not sure whether my old cm3 had LONGINT in it or not.  Is there an easy way to tell?

Thanks,
Randy Coleburn


________________________________
From: Jay K [jayk123 at hotmail.com]
Sent: Saturday, September 07, 2013 11:54 PM
To: Coleburn, Randy; m3devel
Subject: EXT:RE: 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

Jay:

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:

C:\cm3\Sandbox\cm3\m3-sys\m3back>cm3
--- 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.

Thanks,
Randy Coleburn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20130908/14da7926/attachment-0002.html>


More information about the M3devel mailing list