<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-15">
<META content="MSHTML 6.00.6000.16481" name=GENERATOR></HEAD>
<BODY style="MARGIN: 4px 4px 1px; FONT: 10pt Tahoma">
<DIV>Mika:</DIV>
<DIV>I've used CM3 (v4.1) on Windows for years with Trestle, FormsVBT, NetObjects, etc..</DIV>
<DIV>Make sure to use the v2 of Network Objects.</DIV>
<DIV>I haven't moved up to the most recent version yet.  I tried some time ago, but ran into some problems with Bundles not working correctly.  Maybe this is fixed now.  I should try again.</DIV>
<DIV>Regards,</DIV>
<DIV>Randy Coleburn<BR><BR>>>> Mika Nystrom <mika@async.caltech.edu> 6/23/2007 3:34 AM >>><BR>Hello everyone,<BR><BR>I am in the process of trying to consolidate build systems for a<BR>few software packages I am maintaining.  Currently, I am using an<BR>old PM3 on FreeBSD4, an ancient PM3 (from Klagenfurt?) for Windows<BR>(NT386GNU), and trying to get the latest CM3 from cvs up and compiling<BR>things on PPC_DARWIN.  Ideally, I'd like to standardize everything<BR>on the new PM3---mainly so that I can use pickles (and Network<BR>Objects) across all three systems.  I'd also like to add Linux to<BR>the mix.<BR><BR>It's natural for me to start with CM3 on Darwin, as there's no<BR>alternative.  But I am getting some assertions failing.  Everything<BR>in the CM3 distribution compiles fine, and I believe I have compiled<BR>the libraries a few times (that is, including with themselves), and<BR>updated the compiler, too (using boot-cm3-with-m3.sh).  I just cvs<BR>updated tonight.<BR><BR>Here's what I'm running into:<BR><BR>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/CHP.t -o CHPTok.i3 <BR><BR><BR>***<BR>*** runtime error:<BR>***    <*ASSERT*> failed.<BR>***    file "../src/runtime/common/RTCollector.m3", line 2314<BR>***<BR><BR>Abort<BR><BR>Also:<BR><BR>/Users/mika/t/parserlib/ktok/PPC_DARWIN/tok ../src/PRS.t -o PRSTok.i3 <BR>Illegal instruction<BR><BR>As you can see, these things are coming from the caltech_parser.  I am using<BR>our local version, but I don't think it is very different from what is in the<BR>CM3 tree.<BR><BR><BR>Examining the first error (the failed assertion) more closely, I see<BR>the following:<BR><BR>(gdb) list<BR>108         wr := FileWr.Open(Pathname.ReplaceExt(tp.out, "m3"));<BR>109       EXCEPT OSError.E =><BR>110         Debug.Error("Cannot open tok implementation output file: " &<BR>111           Pathname.ReplaceExt(tp.out, "m3"));<BR>112       END;<BR>113       Wr.PutText(wr, subs.apply(Bundle.Get(Form, "tokform.m3")));<BR>114       Wr.Close(wr);<BR>115     END Main.<BR>(gdb) where<BR>#0  0x9004308c in kill ()<BR>#1  0x9009fb3c in abort ()<BR>#2  0x00096f50 in RTOS__Crash () at RTOS.m3:20<BR>#3  0x0005bd40 in RTProcess__Crash (M3_Bd56fi_msg=0x0) at RTProcess.m3:65<BR>#4  0x0008e4e0 in RTError__EndError (M3_AicXUJ_crash=1 '\001') at RTError.m3:115<BR>#5  0x0008e08c in RTError__MsgS (M3_AJWxb1_file=0xc63d8, M3_AcxOUs_line=2314, M3_Bd56fi_msgA=0xca3d0, M3_Bd56fi_msgB=0xcbe90, M3_Bd56fi_msgC=0xca3d0) at RTError.m3:40<BR>#6  0x0008eb88 in RTException__Crash (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0', M3_AJWxb1_rte=0xcb538) at RTException.m3:79<BR>#7  0x0008e74c in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:39<BR>#8  0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25<BR>#9  0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29<BR>#10 0x0008e840 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:47<BR>#11 0x0008e614 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfffee00, M3_AicXUJ_raises=0 '\0') at RTException.m3:25<BR>#12 0x00095d04 in RTException__Raise (M3_Cblw37_act=0xbfffee00) at RTExFrame.m3:29<BR>#13 0x00079740 in RTHooks__ReportFault (M3_AJWxb1_module=0xb3eb8, M3_AcxOUs_info=74048) at RTHooks.m3:110<BR>#14 0x0006ff4c in _m3_fault (M3_AcxOUs_arg=74048)<BR>#15 0x0006bcf4 in RTHooks__CheckStoreTraced (M3_Af40ku_ref=0xb2415c) at RTCollector.m3:2314<BR>#16 0x000700e4 in ThreadPThread__InnerLockMutex (M3_AYIbX3_m=0xb2415c, M3_BXP32l_self=0xb24014) at ThreadPThread.m3:126<BR>#17 0x000704d8 in ThreadPThread__LockMutex (M3_AYIbX3_m=0xb2415c) at ThreadPThread.m3:153<BR>#18 0x00019b24 in Wr__PutText (M3_BxxOH1_wr=0xb2415c, M3_Bd56fi_t=0xb44d5c) at Wr.m3:93<BR>#19 0x00003f74 in Main_M3 (M3_AcxOUs_mode=1) at Main.m3:113<BR>#20 0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399<BR>#21 0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113<BR>#22 0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122<BR>#23 0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4<BR>(gdb) <BR><BR>The second error:<BR><BR>Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand.<BR>0x00b111ac in ?? ()<BR>(gdb) where<BR>#0  0x00b111ac in ?? ()<BR>#1  0x0001214c in TextSubs__Apply (M3_CN69dV_self=0xb26450, M3_Bd56fi_src=0xb21cec) at TextSubs.m3:63<BR>#2  0x0005b1c4 in RTLinker__RunMainBody (M3_DjPxE3_m=0xad190) at RTLinker.m3:399<BR>#3  0x00059f88 in RTLinker__AddUnitI (M3_DjPxE3_m=0xad190) at RTLinker.m3:113<BR>#4  0x0005a084 in RTLinker__AddUnit (M3_DjPxE5_b=0x3600) at RTLinker.m3:122<BR>#5  0x00001fac in main (argc=4, argv=0xbffffb24, envp=0xbffffb38) at _m3main.mc:4<BR>(gdb) list<BR>58        BEGIN<BR>59          WHILE pos < textLen DO<BR>60            c := Text.GetChar(src, pos);<BR>61            IF c IN self.starts THEN<BR>62              (* S("analysing: " & Text.Sub(src, pos), DebugLevel); *)<BR>63              iter := self.tbl.iterateOrdered();<BR>64              ind := pos;<BR>65              original := "";<BR>66              REPEAT<BR>67                INC(ind);<BR>(gdb) <BR><BR>Any ideas what to look at?<BR><BR>I don't know if this is relevant:<BR><BR>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% uname -a<BR>Darwin lapdog.local 7.9.0 Darwin Kernel Version 7.9.0: Wed Mar 30 20:11:17 PST 2005; root:xnu/xnu-517.12.7.obj~1/RELEASE_PPC  Power Macintosh powerpc<BR>[lapdog:~/t/cit_parse/PPC_DARWIN] mika% gcc -v<BR>Reading specs from /usr/libexec/gcc/darwin/ppc/3.3/specs<BR>Thread model: posix<BR>gcc version 3.3 20030304 (Apple Computer, Inc. build 1666)<BR><BR>     Mika<BR><BR>P.S. Am I correct in assuming that I can get CM3 to build on Windows?<BR>I could switch to CM3 on Unix any time, of course, but I've never<BR>had luck with it on Windows, which is why I am using the ancient<BR>Klagenfurt PM3, which comes on 40-odd "floppies" and a .EXE that<BR>unpacks them into C: (and installation instructions only in German).<BR>If CM3 doesn't work on Windows, I am essentially wasting my time,<BR>as the current project I am working on absolutely requires that the<BR>software run on Windows 2003 Server (yes, it sucks, but what can<BR>you do?)  The very old PM3 at least kind of hobbles along on this<BR>platform---actually, better than that; it does Trestle natively<BR>under Windows (no X required), at least on SOME Windows machines.<BR><BR>P.P.S. Sorry for all the postscripts, but is it true that the<BR>build system has been changed so that building with overrides (cm3 -x)<BR>requires having the compiler sources available?  It didn't use to<BR>be that way, but I can't get Network Objects to work with overrides<BR>now unless I have the sources available...  It's a bit of a pain<BR>because it means that every user has to have the compiler sources,<BR>or else ship everything, or was that not the intention?<BR><BR></DIV></BODY></HTML>