[M3devel] building CM3 on a Raspberry Pi?

Jay K jay.krell at cornell.edu
Mon Oct 14 23:06:22 CEST 2013


 > I thought we could bootstrap all the way back with SRC M3?
I don't think so.
I don't believe 4.0 or maybe 5.0/5.1 can bootstrap with 3.6, without applying and later reverting some diffs.


The unicode stuff I think is partly to blame.
But really the 3.6 stuff wasn't so good it turns out. It was much harder to port and contained overly tight dependencies on underlying implementation details of the operating systems. What we have now is approaching the portability of typical C or C++ code. (Still to fix the jmpbuf size and cooperative suspend...)


> (907)tsvnc06:...cm3-anon-cvs/cm3/scripts/python>cm3cg -v
> M3CG - Modula-3 Compiler back end4.3.0


At some point in the bootstrap that should advance higher.
Are you running as a user that can overwrite cm3 and cm3cg?


 - Jay


> To: jay.krell at cornell.edu
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] building CM3 on a Raspberry Pi?
> Date: Mon, 14 Oct 2013 13:46:36 -0700
> From: mika at async.caltech.edu
> 
> 
> Well I think this error is what got me to give up building on MIPS
> (Asus router) a couple of years ago.
> 
> This stuff is really very difficult to get through.
> 
> hmm...  so here I am just trying to ./upgrade.py, no cross building yet.
> 
> My tools aren't THAT old.  2-3 years at most.  I thought we could bootstrap all the way back with SRC M3?
> 
> (906)tsvnc06:...cm3-anon-cvs/cm3/scripts/python>cm3cg -version
> Modula-3 backend (GCC) version 4.3.0 (x86_64-unknown-linux-gnu)
>         compiled by GNU C version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21), GMP version 4.2.1, MPFR version 2.3.0.
> GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
> options passed: 
> options enabled:  -falign-loops -fargument-alias
>  -fasynchronous-unwind-tables -fauto-inc-dec -fbranch-count-reg -fcommon
>  -fearly-inlining -feliminate-unused-debug-types -ffunction-cse -fgcse-lm
>  -fident -fivopts -fkeep-static-consts -fleading-underscore -fmath-errno
>  -fmerge-debug-strings -fmove-loop-invariants -fpeephole
>  -freg-struct-return -fsched-interblock -fsched-spec
>  -fsched-stalled-insns-dep -fsigned-zeros -fsplit-ivs-in-unroller
>  -ftoplevel-reorder -ftrapping-math -ftree-cselim -ftree-loop-im
>  -ftree-loop-ivcanon -ftree-loop-optimize -ftree-parallelize-loops=
>  -ftree-reassoc -ftree-scev-cprop -ftree-vect-loop-version -funwind-tables
>  -fvar-tracking -fvect-cost-model -fzero-initialized-in-bss
>  -m128bit-long-double -m64 -m80387 -maccumulate-outgoing-args
>  -malign-stringops -mfancy-math-387 -mfp-ret-in-387 -mfused-madd -mglibc
>  -mieee-fp -mmmx -mno-sse4 -mpush-args -mred-zone -msse -msse2
>  -mtls-direct-seg-refs
> 
> (907)tsvnc06:...cm3-anon-cvs/cm3/scripts/python>cm3cg -v
> M3CG - Modula-3 Compiler back end4.3.0
> 
> (908)tsvnc06:...cm3-anon-cvs/cm3/scripts/python>which cm3cg
> /nfs/site/home/mnystroe/work/cm3/bin/cm3cg
> (909)tsvnc06:...cm3-anon-cvs/cm3/scripts/python>ls -l `!!`
> ls -l `which cm3cg`
> -rwxr-x--- 1 mnystroe rrc 29747222 2010-06-04 10:41 /nfs/site/home/mnystroe/work/cm3/bin/cm3cg
> 
> 
> 
> 
> Jay K writes:
> >--_b7ef6d52-d09a-4017-8a20-e0fef4593137_
> >Content-Type: text/plain; charset="iso-8859-1"
> >Content-Transfer-Encoding: quoted-printable
> >
> >> ../src/word/WordRep.i3:1: fatal error:  *** illegal type: 0x6f=2C at m3cg=
> >_lineno 5
> >
> >
> >I think this is caused by cm3cg mismatching cm3.
> >upgrade.py is supposed to upgrade them at the proper time though.
> >I did used to have things a little wrong=2C esp. willingness to use an unsh=
> >ipped version laying around.
> >
> >
> > Or maybe cm3cg has the wrong target.=20
> > cm3cg -v or -V or -version?=20
> >
> >
> >You could switch your AMD64_LINUX tools to the C backend.. :)
> >(It should work. I think I tested it on modula3.elegosoft.com.)
> >
> >
> >http://modula3.elegosoft.com/cm3/uploaded-archives
> >Darn=2C nothing recent for AMD64_LINUX.
> >I can work on that this week..using the C backend.
> >
> >
> >There are also snapshots from Hudson here=2C of varying dates:
> >https://modula3.elegosoft.com/cm3/snaps/snapshot-index.html =20
> >
> >
> > - Jay
> >
> >
> >> To: jay.krell at cornell.edu
> >> CC: m3devel at elegosoft.com
> >> Subject: Re: [M3devel] building CM3 on a Raspberry Pi?
> >> Date: Mon=2C 14 Oct 2013 12:02:52 -0700
> >> From: mika at async.caltech.edu
> >>=20
> >> More updates...
> >>=20
> >> after I remove mklib=2C I do get a new compiler built=2C and I get to thi=
> >s point
> >>=20
> >> ignoring ../src/m3overrides
> >>=20
> >>  =3D=3D> /nfs/site/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3/m3-win/impor=
> >t-libs done
> >>=20
> >>  +++ /nfs/site/home/mnystroe/work/cm3/bin/cm3  -ship -DROOT=3D/nfs/site/d=
> >isks/wdisk.133/mnystroe/cm3-anon-cvs/cm3 +++
> >> --- shipping from AMD64_LINUX ---
> >>=20
> >>  =3D=3D> /nfs/site/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3/m3-win/impor=
> >t-libs done
> >>=20
> >> =3D=3D package /nfs/site/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3/m3-lib=
> >s/m3core =3D=3D
> >>=20
> >>  +++ /nfs/site/home/mnystroe/work/cm3/bin/cm3    -build -DROOT=3D/nfs/sit=
> >e/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3 +++
> >> --- building in AMD64_LINUX ---
> >>=20
> >> ignoring ../src/m3overrides
> >>=20
> >> new source -> compiling RTHooks.i3
> >> ../src/runtime/common/RTHooks.i3:15: fatal error:  *** illegal type: 0x6f=
> >=2C at m3cg_lineno 5
> >> compilation terminated.
> >>   m3_backend =3D> 1
> >> m3cc (aka cm3cg) failed compiling: RTHooks.ic
> >> Assembler messages:
> >> Can't open RTHooks.is for reading: No such file or directory
> >> new source -> compiling RT0.i3
> >> ../src/runtime/common/RT0.i3:19: fatal error:  *** illegal type: 0x6f=2C =
> >at m3cg_lineno 5
> >> compilation terminated.
> >>   m3_backend =3D> 1
> >> m3cc (aka cm3cg) failed compiling: RT0.ic
> >> Assembler messages:
> >> Can't open RT0.is for reading: No such file or directory
> >> new source -> compiling RuntimeError.i3
> >> ../src/runtime/common/RuntimeError.i3:10: fatal error:  *** illegal type:=
> > 0x6f=2C at m3cg_lineno 5
> >> compilation terminated.
> >>   m3_backend =3D> 1
> >> m3cc (aka cm3cg) failed compiling: RuntimeError.ic
> >> Assembler messages:
> >> Can't open RuntimeError.is for reading: No such file or directory
> >> new source -> compiling WordRep.i3
> >> ../src/word/WordRep.i3:1: fatal error:  *** illegal type: 0x6f=2C at m3cg=
> >_lineno 5
> >>=20
> >> I've seen this before but don't remember what the issue is.
> >>=20
> >> The compiler is new:
> >>=20
> >> -rwxr-x--- 1 mnystroe rrc 9916732 2013-10-14 11:59 /nfs/site/home/mnystro=
> >e/work/cm3/bin/cm3
> >>=20
> >> This is on linux/amd64...
> >>=20
> >>=20
> >> mika writes:
> >> >My toolsets are old=2C yes.
> >> >
> >> >I tried upgrade.py but you saw that that didn't work either. =20
> >> >
> >> >I guess I could go back and re-install from a recent binary image (where
> >> >are the most recent ones?  I only see really old ones on elegosoft...) a=
> >nd
> >> >build everything from scratch.  It's just that all the systems that I
> >> >have M3 on are some sort of production systems and I don't want to mess
> >> >up the installations unnecessarily...   but if it's the only way...
> >> >=20
> >> >    Mika
> >> >
> >> >Jay K writes:
> >> >>--_461a9835-225f-448d-96a6-4c651ff66c13_
> >> >>Content-Type: text/plain=3B charset=3D"iso-8859-1"
> >> >>Content-Transfer-Encoding: quoted-printable
> >> >>
> >> >>Target.i3/m3 look up to date.
> >> >>Is your host toolset very old?
> >> >>
> >> >>https://modula3.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-sys/m3middle/sr=
> >c/Ta=3D
> >> >>rget.i3
> >> >>
> >> >>Revision 1.59: download - view: text=3D2C markup=3D2C annotated - selec=
> >t for di=3D
> >> >>ffs
> >> >>=3D0A=3D
> >> >>Sat Jun 19 06:56:32 2010  (3 years=3D2C 3 months ago) by jkrell
> >> >>=3D0A=3D
> >> >>Branches: MAIN
> >> >>=3D0A=3D
> >> >>Diff to: previous 1.58: preferred=3D2C unified
> >> >>=3D0A=3D
> >> >>Changes since revision 1.58: +2 -0 lines
> >> >>=3D0A=3D
> >> >>add ARMEL_LINUX with correct jmbuf size/align=3D0A=3D
> >> >>guessing about alignment=3D0A=3D
> >> >>"ARM" is an older ABI=3D0A=3D
> >> >>"ARME" is the usual modern ABI=3D0A=3D
> >> >>L for little endian=3D0A=3D
> >> >>
> >> >>scripts/update.py ?
> >> >>
> >> >> - Jay
> > 		 	   		  =
> >
> >--_b7ef6d52-d09a-4017-8a20-e0fef4593137_
> >Content-Type: text/html; charset="iso-8859-1"
> >Content-Transfer-Encoding: quoted-printable
> >
> ><html>
> ><head>
> ><style><!--
> >.hmmessage P
> >{
> >margin:0px=3B
> >padding:0px
> >}
> >body.hmmessage
> >{
> >font-size: 12pt=3B
> >font-family:Calibri
> >}
> >--></style></head>
> ><body class=3D'hmmessage'><div dir=3D'ltr'>&gt=3B ../src/word/WordRep.i3:1:=
> > fatal error:  *** illegal type: 0x6f=2C at m3cg_lineno 5<br><br><br>I thin=
> >k this is caused by cm3cg mismatching cm3.<br>upgrade.py is supposed to upg=
> >rade them at the proper time though.<br>I did used to have things a little =
> >wrong=2C esp. willingness to use an unshipped version laying around.<br><br=
> >><br>&nbsp=3BOr maybe cm3cg has the wrong target. <br>&nbsp=3Bcm3cg -v or -=
> >V or -version? <br><br><br>You could switch your AMD64_LINUX tools to the C=
> > backend.. :)<br>(It should work. I think I tested it on modula3.elegosoft.=
> >com.)<br><br><br><a href=3D"http://modula3.elegosoft.com/cm3/uploaded-archi=
> >ves" target=3D"_blank">http://modula3.elegosoft.com/cm3/uploaded-archives</=
> >a><br>Darn=2C nothing recent for AMD64_LINUX.<br>I can work on that this we=
> >ek..using the C backend.<br><br><br>There are also snapshots from Hudson he=
> >re=2C of varying dates:<br><a href=3D"https://modula3.elegosoft.com/cm3/sna=
> >ps/snapshot-index.html" target=3D"_blank">https://modula3.elegosoft.com/cm3=
> >/snaps/snapshot-index.html</a>&nbsp=3B <br><br><br>&nbsp=3B- Jay<br><br><br=
> >><div>&gt=3B To: jay.krell at cornell.edu<br>&gt=3B CC: m3devel at elegosoft.com<=
> >br>&gt=3B Subject: Re: [M3devel] building CM3 on a Raspberry Pi?<br>&gt=3B =
> >Date: Mon=2C 14 Oct 2013 12:02:52 -0700<br>&gt=3B From: mika at async.caltech.=
> >edu<br>&gt=3B <br>&gt=3B More updates...<br>&gt=3B <br>&gt=3B after I remov=
> >e mklib=2C I do get a new compiler built=2C and I get to this point<br>&gt=
> >=3B <br>&gt=3B ignoring ../src/m3overrides<br>&gt=3B <br>&gt=3B  =3D=3D&gt=
> >=3B /nfs/site/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3/m3-win/import-libs =
> >done<br>&gt=3B <br>&gt=3B  +++ /nfs/site/home/mnystroe/work/cm3/bin/cm3  -s=
> >hip -DROOT=3D/nfs/site/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3 +++<br>&gt=
> >=3B --- shipping from AMD64_LINUX ---<br>&gt=3B <br>&gt=3B  =3D=3D&gt=3B /n=
> >fs/site/disks/wdisk.133/mnystroe/cm3-anon-cvs/cm3/m3-win/import-libs done<b=
> >r>&gt=3B <br>&gt=3B =3D=3D package /nfs/site/disks/wdisk.133/mnystroe/cm3-a=
> >non-cvs/cm3/m3-libs/m3core =3D=3D<br>&gt=3B <br>&gt=3B  +++ /nfs/site/home/=
> >mnystroe/work/cm3/bin/cm3    -build -DROOT=3D/nfs/site/disks/wdisk.133/mnys=
> >troe/cm3-anon-cvs/cm3 +++<br>&gt=3B --- building in AMD64_LINUX ---<br>&gt=
> >=3B <br>&gt=3B ignoring ../src/m3overrides<br>&gt=3B <br>&gt=3B new source =
> >-&gt=3B compiling RTHooks.i3<br>&gt=3B ../src/runtime/common/RTHooks.i3:15:=
> > fatal error:  *** illegal type: 0x6f=2C at m3cg_lineno 5<br>&gt=3B compila=
> >tion terminated.<br>&gt=3B   m3_backend =3D&gt=3B 1<br>&gt=3B m3cc (aka cm3=
> >cg) failed compiling: RTHooks.ic<br>&gt=3B Assembler messages:<br>&gt=3B Ca=
> >n't open RTHooks.is for reading: No such file or directory<br>&gt=3B new so=
> >urce -&gt=3B compiling RT0.i3<br>&gt=3B ../src/runtime/common/RT0.i3:19: fa=
> >tal error:  *** illegal type: 0x6f=2C at m3cg_lineno 5<br>&gt=3B compilatio=
> >n terminated.<br>&gt=3B   m3_backend =3D&gt=3B 1<br>&gt=3B m3cc (aka cm3cg)=
> > failed compiling: RT0.ic<br>&gt=3B Assembler messages:<br>&gt=3B Can't ope=
> >n RT0.is for reading: No such file or directory<br>&gt=3B new source -&gt=
> >=3B compiling RuntimeError.i3<br>&gt=3B ../src/runtime/common/RuntimeError.=
> >i3:10: fatal error:  *** illegal type: 0x6f=2C at m3cg_lineno 5<br>&gt=3B c=
> >ompilation terminated.<br>&gt=3B   m3_backend =3D&gt=3B 1<br>&gt=3B m3cc (a=
> >ka cm3cg) failed compiling: RuntimeError.ic<br>&gt=3B Assembler messages:<b=
> >r>&gt=3B Can't open RuntimeError.is for reading: No such file or directory<=
> >br>&gt=3B new source -&gt=3B compiling WordRep.i3<br>&gt=3B ../src/word/Wor=
> >dRep.i3:1: fatal error:  *** illegal type: 0x6f=2C at m3cg_lineno 5<br>&gt=
> >=3B <br>&gt=3B I've seen this before but don't remember what the issue is.<=
> >br>&gt=3B <br>&gt=3B The compiler is new:<br>&gt=3B <br>&gt=3B -rwxr-x--- 1=
> > mnystroe rrc 9916732 2013-10-14 11:59 /nfs/site/home/mnystroe/work/cm3/bin=
> >/cm3<br>&gt=3B <br>&gt=3B This is on linux/amd64...<br>&gt=3B <br>&gt=3B <b=
> >r>&gt=3B mika writes:<br>&gt=3B &gt=3BMy toolsets are old=2C yes.<br>&gt=3B=
> > &gt=3B<br>&gt=3B &gt=3BI tried upgrade.py but you saw that that didn't wor=
> >k either.  <br>&gt=3B &gt=3B<br>&gt=3B &gt=3BI guess I could go back and re=
> >-install from a recent binary image (where<br>&gt=3B &gt=3Bare the most rec=
> >ent ones?  I only see really old ones on elegosoft...) and<br>&gt=3B &gt=3B=
> >build everything from scratch.  It's just that all the systems that I<br>&g=
> >t=3B &gt=3Bhave M3 on are some sort of production systems and I don't want =
> >to mess<br>&gt=3B &gt=3Bup the installations unnecessarily...   but if it's=
> > the only way...<br>&gt=3B &gt=3B <br>&gt=3B &gt=3B    Mika<br>&gt=3B &gt=
> >=3B<br>&gt=3B &gt=3BJay K writes:<br>&gt=3B &gt=3B&gt=3B--_461a9835-225f-44=
> >8d-96a6-4c651ff66c13_<br>&gt=3B &gt=3B&gt=3BContent-Type: text/plain=3B cha=
> >rset=3D"iso-8859-1"<br>&gt=3B &gt=3B&gt=3BContent-Transfer-Encoding: quoted=
> >-printable<br>&gt=3B &gt=3B&gt=3B<br>&gt=3B &gt=3B&gt=3BTarget.i3/m3 look u=
> >p to date.<br>&gt=3B &gt=3B&gt=3BIs your host toolset very old?<br>&gt=3B &=
> >gt=3B&gt=3B<br>&gt=3B &gt=3B&gt=3Bhttps://modula3.elegosoft.com/cgi-bin/cvs=
> >web.cgi/cm3/m3-sys/m3middle/src/Ta=3D<br>&gt=3B &gt=3B&gt=3Brget.i3<br>&gt=
> >=3B &gt=3B&gt=3B<br>&gt=3B &gt=3B&gt=3BRevision 1.59: download - view: text=
> >=3D2C markup=3D2C annotated - select for di=3D<br>&gt=3B &gt=3B&gt=3Bffs<br=
> >>&gt=3B &gt=3B&gt=3B=3D0A=3D<br>&gt=3B &gt=3B&gt=3BSat Jun 19 06:56:32 2010=
> >  (3 years=3D2C 3 months ago) by jkrell<br>&gt=3B &gt=3B&gt=3B=3D0A=3D<br>&=
> >gt=3B &gt=3B&gt=3BBranches: MAIN<br>&gt=3B &gt=3B&gt=3B=3D0A=3D<br>&gt=3B &=
> >gt=3B&gt=3BDiff to: previous 1.58: preferred=3D2C unified<br>&gt=3B &gt=3B&=
> >gt=3B=3D0A=3D<br>&gt=3B &gt=3B&gt=3BChanges since revision 1.58: +2 -0 line=
> >s<br>&gt=3B &gt=3B&gt=3B=3D0A=3D<br>&gt=3B &gt=3B&gt=3Badd ARMEL_LINUX with=
> > correct jmbuf size/align=3D0A=3D<br>&gt=3B &gt=3B&gt=3Bguessing about alig=
> >nment=3D0A=3D<br>&gt=3B &gt=3B&gt=3B"ARM" is an older ABI=3D0A=3D<br>&gt=3B=
> > &gt=3B&gt=3B"ARME" is the usual modern ABI=3D0A=3D<br>&gt=3B &gt=3B&gt=3BL=
> > for little endian=3D0A=3D<br>&gt=3B &gt=3B&gt=3B<br>&gt=3B &gt=3B&gt=3Bscr=
> >ipts/update.py ?<br>&gt=3B &gt=3B&gt=3B<br>&gt=3B &gt=3B&gt=3B - Jay<br></d=
> >iv> 		 	   		  </div></body>
> ></html>=
> >
> >--_b7ef6d52-d09a-4017-8a20-e0fef4593137_--
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20131014/18a61ca5/attachment-0002.html>


More information about the M3devel mailing list