[M3devel] EXT:RE: python build problems

Coleburn, Randy rcolebur at SCIRES.COM
Sun Sep 8 07:19:54 CEST 2013


Jay:

Thanks for the removal of Cstdint dependency, but now there is a problem with Ctypes.unsigned in m3back:

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 6: undefined (Ctypes.unsigned)
1 error encountered
new source -> compiling M3CC.i3
"..\src\M3CC.i3", line 6: undefined (Ctypes.unsigned)
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

________________________________
From: Coleburn, Randy
Sent: Sunday, September 08, 2013 1:13 AM
To: Jay K; m3devel
Subject: Re: [M3devel] EXT:RE: python build problems

Jay:

ok, thanks.

I still can't get upgrade.py to work.

Since I ran into trouble earlier, I reverted my pkg, bin, and lib folders back to a known good working copy circa 2008.

Then, I copied the cm3install\src\config-no-install\cm3.cfg into the bin folder.

Now when I try to build, it is defaulting to I386_NT instead of NT386.

I guess I can go in and adjust the cm3.cfg to force NT386, but is there something else wrong?

Thanks,
--Randy

________________________________
From: Jay K [jayk123 at hotmail.com]
Sent: Sunday, September 08, 2013 12:39 AM
To: Coleburn, Randy; m3devel
Subject: EXT:RE: python build problems

We crossed emails. The order in upgrade.py isn't the order run, it is filtered through pkginfo.txt.


m3cgcat is not really needed here. I was using it a lot with the C backend, but no longer.
m3bundle's presence here is questionable. It isn't used to build cm3.
m3cggen is there for communicating rare but occurring changes to m3cc, so should be filtered out along with m3cc, optionally.
mklib is only for NT targets. I would like to remove it, but that isn't trivial -- cm3 should produce the .def files and I guess list every function in every capital I Interface .i3 file.


But it works.
The unneeded stuff builds ok.

 - Jay

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

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/0a9918a0/attachment-0002.html>


More information about the M3devel mailing list