<div>+ rodney.m.bates@</div><div> </div><div><div>Hi!</div><div> </div><div> </div><div> Possible duplicate of:</div><div><div>https://github.com/modula3/cm3/commit/0b7caa2001b7a985442466dcff468f6b4a0e072f#commitcomment-50045667</div></div><div> </div><div> </div><div>Short:</div><div><div>VVM}}}} ***    <*ASSERT*> failed: top.shallowestDynDepth < 0</div><div>VVM}}}} ***    file "../src/exprs/ArrayExpr.m3", line 2103</div><div> </div><div> </div><div> </div></div><div>Full:</div><div> </div><div><div><div>On Mon, Apr 26, 2021 at 8:29 AM VictorMiasnikov (. . .) wrote:</div><div>VVM}}}} </div><div>VVM}}}} </div><div>VVM}}}} Critical Mass Modula-3 version d5.11.0</div><div>VVM}}}}   host: AMD64_NT</div><div>VVM}}}}   target: AMD64_NT</div><div>VVM}}}} </div><div>VVM}}}} D:\cm3\bin>cd D:\cm3\src\caltech-other\csv</div><div>VVM}}}} </div><div>VVM}}}} D:\cm3\src\caltech-other\csv>cm3</div><div>VVM}}}} --- building in AMD64_NT ---</div><div>VVM}}}} </div><div>VVM}}}} ignoring ..\src\m3overrides</div><div>VVM}}}} </div><div>VVM}}}} new source -> compiling CSVParse.i3</div><div>VVM}}}} new source -> compiling CSVParse.m3</div><div>VVM}}}} new source -> compiling CSVWrite.i3</div><div>VVM}}}} </div><div>VVM}}}} </div><div>VVM}}}} ***</div><div>VVM}}}} *** runtime error:</div><div>VVM}}}} ***    <*ASSERT*> failed: top.shallowestDynDepth < 0</div><div>VVM}}}} ***    file "../src/exprs/ArrayExpr.m3", line 2103</div><div>VVM}}}} ***</div><div>VVM}}}} </div><div>VVM}}}} </div><div>VVM}}}} D:\cm3\src\caltech-other\csv></div><div>VVM}}}} </div><div>VVM}}}} </div><div> </div><div> </div><div>On 4/26/21 11:02 AM, Mika Nystrom wrote:</div><div>MN}}} </div><div>MN}}}  Yes that's the compiler bug I mentioned. </div><div>MN}}} Rodney should take a look, I think.</div><div>MN}}} </div><div>MN}}}  The interface uses 4D arrays of LONGREALs.</div><div>MN}}} Not sure it does anything else untoward.</div><div>MN}}} </div><div> </div><div>On Mon, Apr 26, 2021 at 2:30 PM Rodney M. Bates ***@***.*** wrote:</div><div>R.M.B.}} </div><div>R.M.B.}} I have two problems of lacking information here, before I can address this:</div><div>R.M.B.}} </div><div>R.M.B.}} 1. This (and a few others) message appears to be a response to one I have not</div><div>R.M.B.}}     received.  I have no idea why this but not the original.</div><div>R.M.B.}} </div><div>R.M.B.}} 2. I can't get to this failure because:</div><div>R.M.B.}} </div><div>R.M.B.}}     A.Cm3 won't even try to compile in csv, for lack of cit_util:</div><div>R.M.B.}} </div><div>R.M.B.}} ----------------------------------------------------------------------</div><div>R.M.B.}}   ***@***.***:~/proj/m3/githead/cm3/caltech-other/csv$ cm3</div><div>R.M.B.}} --- building in AMD64_LINUX ---</div><div>R.M.B.}} </div><div>R.M.B.}} ignoring ../src/m3overrides</div><div>R.M.B.}} </div><div>R.M.B.}} "/home/rodney/proj/m3/githead/cm3/caltech-other/csv/src/m3makefile", line 3: quake runtime error: unable to open "/usr/local/cm3/pkg/cit_util/AMD64_LINUX/.M3EXPORTS" for reading</div><div>R.M.B.}} </div><div>R.M.B.}} --procedure--  -line-  -file---</div><div>R.M.B.}} import             --  <builtin></div><div>R.M.B.}} include_dir         3  /home/rodney/proj/m3/githead/cm3/caltech-other/csv/src/m3makefile</div><div>R.M.B.}}                      4  /home/rodney/proj/m3/githead/cm3/caltech-other/csv/AMD64_LINUX/m3make.args</div><div>R.M.B.}} </div><div>R.M.B.}} Fatal Error: package build failed</div><div>R.M.B.}} --------------------------------------------------------------------------</div><div>R.M.B.}} </div><div>R.M.B.}}      B. And, cit_util won't compile on account of duplicate unit TextUtils.i3.</div><div>R.M.B.}} </div><div>R.M.B.}} --------------------------------------------------------------------------</div><div>R.M.B.}} ***@***.***:~/proj/m3/githead/cm3/caltech-parser/cit_util$ cm3</div><div>R.M.B.}} --- building in AMD64_LINUX ---</div><div>R.M.B.}} </div><div>R.M.B.}} ignoring ../src/m3overrides</div><div>R.M.B.}} </div><div>R.M.B.}} </div><div>R.M.B.}} Fatal Error: duplicate unit: /usr/local/cm3/pkg/sysutils/src/TextUtils.i3 ../src/TextUtils.i3</div><div>R.M.B.}} --------------------------------------------------------------------------</div><div>R.M.B.}} </div><div>R.M.B.}} Has somebody fixed the duplicate TextUtils only locally?  This still happens</div><div>R.M.B.}} for me immediately after a  fresh pull of github-master.  ISTR some</div><div>R.M.B.}} talk about this duplication, but nothing about anybody fixing it.</div><div>R.M.B.}} </div><div> </div><div>On Mon, Apr 26, 2021 at 4:50 PM, Mika Nystrom wrote:</div><div>MN} </div><div>MN} Rodney, can you do a realclean maybe?</div><div>MN} </div><div>MN}  Jay had pulled sysutils (which contains another TextUtils) into netobj </div><div>MN} and then the transitive closure had two TextUtils. </div><div>MN} Then he made a new Target which clashed with the old Target in Obliq, </div><div>MN} so I renamed Target to NetObjTarget, and that version should compile </div><div>MN} (this is the head at the moment).</div><div>MN} </div><div>MN}  Then you ought to be able to compile cit_util</div><div>MN} and then you will see the error in csv</div><div>MN} </div><div> </div><div> </div><div> IMHO, compiling cit_util has fixed.</div><div>We have another error.</div></div></div><div> </div></div><div><div>Best regards, Victor Miasnikov</div><div> </div><div> </div><div> </div></div><div>26.04.2021, 10:04, VictorMiasnikov (. . .) wrote:</div><blockquote><div>Hi!</div><div><div><div> </div><div>JK}</div><div>JK}  ( JK say:)  vvm: It is understood and should be fixed.</div><div>JK} If it is not fixed, it is a minor thing. Don't worry much or at all.</div><div>JK}</div><div> </div><div>  Ok, thanks!</div><div> </div><div>JK}</div><div>JK} mklib, though that can/should be fixed in multiple ways -- merge it into cm3 or stop using it entirely.</div><div>JK}</div><div> </div><div>  It's good idea.  We can close "Issue #200"</div><div> </div><div>JK} </div><div>JK} please setup CI</div><div>JK}</div><div> </div><div> I.e. exactly this CI?</div><div><a href="https://m3lists.elegosoft.com/pipermail/m3devel/attachments/20210414/8fbd161e/attachment.html" rel="noopener noreferrer">https://m3lists.elegosoft.com/pipermail/m3devel/attachments/20210414/8fbd161e/attachment.html</a></div><div> </div><div>(</div><div> </div><div> And are You see this?</div><div><a href="https://github.com/modula3/cm3/issues/61#issuecomment-826553879" rel="noopener noreferrer">https://github.com/modula3/cm3/issues/61#issuecomment-826553879</a></div><div> </div><div>)</div><div> </div><div> </div></div>Best regards, Victor Miasnikov</div><div> </div><div>26.04.2021, 09:36, "Jay K" <<a href="mailto:jayk123@hotmail.com" rel="noopener noreferrer">jayk123@hotmail.com</a>>:</div><blockquote><div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">vvm: It is understood and should be fixed.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">If it is not fixed, it is a minor thing. Don't worry much or at all.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> </div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">If you really want to worry about it: please setup CI.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">CI is on my proverbial/rhetorical list, but I have a few things I want to do first.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">Specifically I want cm3 buildable from one .c file, and approximately two .h files, at least for Unix.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">Win32 might require two .c files because of mklib, though that can/should be fixed in multiple ways -- merge it into cm3 or stop using it entirely.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">I want CI to start with this "one" file, and not bother supporting starting from earlier forms.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">The .h files could be reduced further (they are UerrorX.h and dtoa.h; UerrorX.h is barely worthwhile, and dtoa.h I would like to remove too, but it is presently needed).</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> </div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> - Jay</div><div><div> </div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> </div><hr style="width:98%" /><div><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><strong>From:</strong> <a href="mailto:vvm@tut.by" rel="noopener noreferrer">vvm@tut.by</a> <<a href="mailto:vvm@tut.by" rel="noopener noreferrer">vvm@tut.by</a>><br /><strong>Sent:</strong> Monday, April 26, 2021 6:28 AM<br /><strong>To:</strong> Jay K <<a href="mailto:jayk123@hotmail.com" rel="noopener noreferrer">jayk123@hotmail.com</a>>; Mika Nystrom <<a href="mailto:mika.nystrom@gmail.com" rel="noopener noreferrer">mika.nystrom@gmail.com</a>>; m3devel <<a href="mailto:m3devel@elegosoft.com" rel="noopener noreferrer">m3devel@elegosoft.com</a>><br /><strong>Subject:</strong> Fw: Fatal Error: duplicate unit: cm3\pkg\sysutils\src\TextUtils.i3 ..\src\TextUtils.i3 Re: [M3devel] duplicate unit TextUtils</font><div> </div></div><div><div>Hi!</div><div> </div><div> </div><div><div><div>MN}}} </div><div>MN}}}  Now I know sort of why this is happening. </div><div>MN}}} The cit_util directory has an interface with the same name as sysutils does.  </div><div>MN}}} </div><div>MN}}}  But what I'm not understanding is, cit_util doesn't import sysutils, does it?  Not even indirectly.</div><div>MN}}} sysutils is part of the cm3 compiler, and not part of m3core or libm3 or anything else that cit_util imports.</div><div>MN}}} Why are the two clashing?</div><div>MN}}} How have others worked around the issue?</div><div>MN}}} </div><div><div><div> </div><div>JK}} </div><div>JK}}   You are right. I have it "fixed" it now. Sorry about that.</div><div>JK}}  The change was mostly very worthwhile but maybe a bit more than necessary.</div><div>JK}}  We should probably consolidate all of TextUtils/TextExtras into m3-libs/m3text or m3-libs/m3core.</div><div>JK}} </div><div> </div></div></div></div></div><div>This is related?</div><div> </div><div><div><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmodula3%2Fcm3%2Fcommit%2F1c23de8a6c2660e6cfd5414965cc2b685d54f5f2%23commitcomment-49702324&data=04%7C01%7C%7C072d5ee46fcc48de33dd08d9087c925e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637550153392332726%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fIbnmxdkd9L9dyMT9xyAAFbmGrbA3ZlXlpbqNT9IjPY%3D&reserved=0" rel="noopener noreferrer" target="_blank">https://github.com/modula3/cm3/commit/1c23de8a6c2660e6cfd5414965cc2b685d54f5f2#commitcomment-49702324</a><div><div>== == ==</div><div>VictorMiasnikov replied 7 days ago</div><div> </div><div>===</div><div>ERROR LOG SUMMARY:</div><div>-----------------</div><div>WARNING:  Errors in package "caltech-parser\cit_util"</div><div>===</div><div> </div><div>===</div><div>------------------------------------------------------------------------------</div><div>--- processing package "caltech-parser\cit_util" ---</div><div>--- purging derived files from AMD64_NT ---</div><div> </div><div> . . .</div><div> </div><div>--- building in AMD64_NT ---</div><div> </div><div>ignoring ..\src\m3overrides</div><div> </div><div>Fatal Error: duplicate unit: D:\cm3\pkg\sysutils\src\TextUtils.i3 ..\src\TextUtils.i3</div><div> </div><div>WARNING:  Encountered an error when processing package "caltech-parser\cit_util" for "-build".</div><div>===</div><div>== == ==</div></div></div></div><div> </div><div> </div><div> </div><div>Best regards, Victor Miasnikov</div><div> </div><div>25.04.2021, 19:41, "Jay K" <<a href="mailto:jayk123@hotmail.com" rel="noopener noreferrer">jayk123@hotmail.com</a>>:</div><blockquote><div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">You are right. I have it "fixed" it now. Sorry about that.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">The change was mostly very worthwhile but maybe a bit more than necessary.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">We should probably consolidate all of TextUtils/TextExtras into m3-libs/m3text or m3-libs/m3core.</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">Setting up CI ought to occur soon. &#x1f641;</div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> </div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> - Jay</div><div><div> </div><div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt"> </div><hr style="width:98%" /><div><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><strong>From:</strong> Mika Nystrom <<a href="mailto:mika.nystrom@gmail.com" rel="noopener noreferrer">mika.nystrom@gmail.com</a>><br /><strong>Sent:</strong> Sunday, April 25, 2021 4:22 PM<br /><strong>To:</strong> Jay K <<a href="mailto:jayk123@hotmail.com" rel="noopener noreferrer">jayk123@hotmail.com</a>>; m3devel <<a href="mailto:m3devel@elegosoft.com" rel="noopener noreferrer">m3devel@elegosoft.com</a>><br /><strong>Subject:</strong> Re: duplicate unit TextUtils</font><div> </div></div><div><div>OK, I believe the trouble is coming from recent changes to netobj. It's causing netobj to pull in m3middle, which pulls in sysutils, which then goes all over the place that netobj is used.<div> </div><div>Netobj now requires Target, which is from m3middle:</div><div> </div><div> </div><div>c408284c5b (JayKrell        2021-03-18 20:36:33 -0700  291)             IF IntVal > Target.WideChar16Max THEN IntVal := ReplacementWt; END;</div><div> </div><div>c408284c5b (JayKrell    2021-03-18 20:36:33 -0700 17) import("m3middle")</div><div> </div><div>This is unfortunately going to break a lot of code on our end.  Hmm.  What is the right way to solve this problem?</div><div> </div><div>I noticed another thing while debugging this...</div><div> </div><div>scynoble99> grep TextUtils /tmp/d5.10.0/pkg/*/AMD64_LINUX/.M3EXPORTS | wc<br />   6515    6530  520287<br />scynoble99> grep TextUtils /tmp/d5.10.0/pkg/*/AMD64_LINUX/.M3EXPORTS | uniq | wc<br />     79      94    6387</div><div> </div><div>That seems a little bit odd, no?</div><div> </div><div>scynoble99> grep TextUtils /tmp/d5.10.0/pkg/webvbt/AMD64_LINUX/.M3EXPORTS | wc<br />    521     521   15630<br />scynoble99></div><div> </div> scynoble99> wc /tmp/d5.10.0/pkg/webvbt/AMD64_LINUX/.M3EXPORTS<br />  6332   6492 184297 /tmp/d5.10.0/pkg/webvbt/AMD64_LINUX/.M3EXPORTS<div> </div> scynoble99> sort /tmp/d5.10.0/pkg/webvbt/AMD64_LINUX/.M3EXPORTS | uniq -c | sort -g | tail<br />    521 export_interface("FastLex")<br />    521 export_interface("MsgIF")<br />    521 export_interface("MsgX")<br />    521 export_interface("OSSpecials")<br />    521 export_interface("PathRepr")<br />    521 export_interface("ProcessEnv")<br />    521 export_interface("SMsg")<br />    521 export_interface("System")<br />    521 export_interface("TextReadingUtils")<br />    521 export_interface("TextUtils")<div>scynoble99></div><div> </div><div>Why is one file exporting each of these interfaces 521 times?</div><div> </div><div>      Mika </div></div> <div><div>On Sun, Apr 25, 2021 at 8:20 AM Mika Nystrom <<a href="mailto:mika.nystrom@gmail.com" rel="noopener noreferrer">mika.nystrom@gmail.com</a>> wrote:</div><blockquote style="border-left-color:rgb( 204 , 204 , 204 );border-left-style:solid;border-left-width:1px;margin:0px 0px 0px 0.8ex;padding-left:1ex"><div>Hi Jay, others,<div> </div><div>I'm trying to build the head like so:</div><div> </div><div>./boot1.py AMD64_LINUX</div><div>./boot2.py</div><div> </div><div>and all looks good until this happens:</div><div> </div><div>ignoring ../src/m3overrides<br /><br /><br />Fatal Error: duplicate unit: /tmp/d5.10.0/pkg/sysutils/src/TextUtils.i3 ../src/TextUtils.i3<br /><br /> *** execution of [<function _BuildGlobalFunction at 0x7ffff4f7b550>, <function _ShipFunction at 0x7ffff4f7b5d0>] failed ***<br />ERROR: ./do-cm3-all.py buildship<br />scynoble99> cd /nfs/sc/disks/mst_109/mnystroe/cm3-github-2/caltech-parser/cit_util<br />scynoble99> /tmp/d5.10.0/bin/cm3   -DBUILD_DIR=AMD64_LINUX   -build -DROOT=/nfs/sc/disks/mst_109/mnystroe/cm3-github-2 -DTARGET=AMD64_LINUX<br />--- building in AMD64_LINUX ---<br /><br />ignoring ../src/m3overrides<br /><br /><br />Fatal Error: duplicate unit: /tmp/d5.10.0/pkg/sysutils/src/TextUtils.i3 ../src/TextUtils.i3<br /> </div><div>Now I know sort of why this is happening.  The cit_util directory has an interface with the same name as sysutils does.  </div><div> </div><div>But what I'm not understanding is, cit_util doesn't import sysutils, does it?  Not even indirectly.  sysutils is part of the cm3 compiler, and not part of m3core or libm3 or anything else that cit_util imports.  Why are the two clashing?  How have others worked around the issue?</div><div> </div><div>     Mika</div><div> </div><div> </div></div></blockquote></div></div></div></div>,<p style="margin-bottom:0;margin-top:0">_______________________________________________<br />M3devel mailing list<br /><a href="mailto:M3devel@elegosoft.com" rel="noopener noreferrer">M3devel@elegosoft.com</a><br /><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fm3lists.elegosoft.com%2Fmailman%2Flistinfo%2Fm3devel&data=04%7C01%7C%7C072d5ee46fcc48de33dd08d9087c925e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637550153392337726%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=TIxd2oIDzynuZI94md3nZBxQX%2FsJFhIC2sMv%2B%2FnQBFI%3D&reserved=0" rel="noopener noreferrer">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a></p></blockquote></div></div></div></blockquote>,<p>_______________________________________________<br />M3devel mailing list<br /><a href="mailto:M3devel@elegosoft.com" rel="noopener noreferrer">M3devel@elegosoft.com</a><br /><a href="https://m3lists.elegosoft.com/mailman/listinfo/m3devel" rel="noopener noreferrer">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a></p></blockquote>