[M3devel] update on NT386 build (Windows XP, VC 2008)

Jay K jay.krell at cornell.edu
Wed Jul 29 20:18:30 CEST 2009


(formatting possibly all messed up sorry)
 

--- processing package "m3-sys\cm3" --- --- building in NT386 --- ignoring ..\src\m3overrides
missing CM3_VERSION_NUMBER will read version file
missing CM3_VERSION_TEXT will read version file
missing CM3_LAST_CHANGED will read version file
 

This is arguably a failing of your .cmd. The other .sh/.py/.cmd define these.
Perhaps we should always do it in the m3makefile, nowhere else, and don't warn?
Or maybe it is supposed to be fixed for the entire build?
Or maybe Olaf just likes to write non portable .sh, in scripts, instead of in m3makefile?
(where he can still write non portable .sh, but I have to port it, either way, difference is whether or not it gets written twice or four times,
twice is Posix and Win32 in m3makefile, four times is Olaf's .sh, my .py, possibly maybe my .cmd, and your .cmd)
 

Try the .py. Tell me what errors you get. Please.
 

There are contradictory principles at work here:
  reduce dependencies
  don't duplicate work
 

We are duplicating work. And I might continue to -- I might rewrite more of Olaf's .sh in .py. But my argument is that it is
then more portable and the duplication can then be stopped. (Granted there are sticking points, like MIPS64_OPENBSD possibly and
I386_MSDOS possibly, but sh's portability is also overstated, e.g. Solaris..)
 

You can try my .cmd too, but I'd really like to know why the Python doesn't work for you.
The .sh, .py, my .cmd, and indirectly the m3makefile read the scripts/version file.
Which btw should maybe be at the root? Maybe. It depends on if you feel "scripts" are "official" or merely "convenience".
And if "version" is "official" -- don't mix "official" with "convenience"? Not a big deal.
 

Many of the warnings are in generated code, which is partly why I've long ignored them. Plus that I'm lazy.
We can try putting in  in the generated code. I just hope the compiler isn't a stickler
then and complains that sometimes there is nothing to not warn about (like when you say  but use it;
geez, maybe my intent was, I may or may not use, just shut up either way?)
 

I'll see what I can do, but none or almost none of this is Windows specific. Nobody seems to care much.
 

That unaligned thing is different. - I thought it didn't warn on NT, just others.
It possibly needs to be honored on all.
  - The Modula-3 language is difficient here in general.
 We need to be able to state alignment if we do want to "interoperate directly" with external data.
Normally I say "write C wrappers" but this is a file format not a super cheap little in-memory struct.
We almost need to be able to state alignments higher than we can today.

 
I've seen stuff like:
setjmp.h:
  gccism(alignment hgher than Modula-3 allows one to state) 
  comment(less alignment is ok, but more is better) 
 

and Modula-3 uses less. Maybe it is yucky and not ANSI C but all the compilers have various extensions to finely control layout.
Either we wrap everything up, or unpack from bytes, or copy those C features. Roughly speaking.
I'll probably look into "unpack from bytes". 
Interfacing with the external world sometimes is ugly business and that's just tough; you can't change it.
 
 
- Jay











________________________________
> From: jay.krell at cornell.edu
> To: rcoleburn at scires.com
> Date: Wed, 29 Jul 2009 04:28:54 -0700
> CC: m3devel at elegosoft.com
> Subject: Re: [M3devel] update on NT386 build (Windows XP, VC 2008)
>
> Not bad!
>
> - Jay (phone)
>
> On Jul 29, 2009, at 4:14 AM, "Randy Coleburn"> wrote:
>
>
> Update on NT386 build (Windows XP, Microsoft Visual C++ Express 2008), R.Coleburn
> =====================================================================
>
>
> Here are the errors and warnings I am seeing currently in building the minimal installation:
>
>
>
> --- processing package "m3-libs\libm3" ---
> --- building in NT386 ---
> "..\src\pickle\ver2\ConvertPacking.m3", line 170: warning: not used (CheckInt32)
> 1 warning encountered
>
>
>
>
>
>
>
> Here is a list of all packages that I am building:
>
>
>
> m3-win\import-libs
> m3-sys\m3cc
> m3-libs\m3core
> m3-libs\libm3
> m3-sys\windowsResources
> m3-libs\patternmatching
> m3-libs\sysutils
> m3-libs\unittest
> m3-sys\m3middle
> m3-sys\m3objfile
> m3-sys\m3linker
> m3-sys\m3back
> m3-sys\m3staloneback
> m3-sys\m3front
> m3-sys\m3quake
> m3-sys\cm3
> m3-sys\m3scanner
> m3-sys\m3tools
> m3-sys\m3cgcat
> m3-sys\m3cggen
> m3-sys\m3gdb
> m3-tools\m3bundle
> m3-sys\mklib
> m3-sys\fix_nl
> m3-sys\libdump
> m3-libs\arithmetic
> m3-libs\unittest-numeric
> m3-libs\bitvector
> m3-libs\digraph
> m3-libs\parseparams
> m3-libs\realgeometry
> m3-libs\set
> m3-libs\slisp
> m3-libs\sortedtableextras
> m3-libs\table-list
> m3-libs\tempfiles
> m3-libs\tcl
> m3-comm\tcp
> m3-sys\cm3ide
> m3-comm\udp
> m3-libs\libsio
> m3-libs\libbuf
> m3-libs\debug
> m3-libs\listfuncs
> m3-libs\embutils
> m3-libs\m3tk-misc
> m3-www\http
> m3-libs\binIO
> m3-libs\commandrw
> m3-comm\tapi
> m3-comm\serial
> m3-tools\m3tk
> m3-tools\mtex
> m3-tools\m3totex
> m3-tools\m3tohtml
> m3-tools\m3scan
> m3-tools\m3markup
> m3-tools\m3browser
> m3-tools\cmpdir
> m3-tools\cmpfp
> m3-tools\dirfp
> m3-tools\uniq
> m3-comm\netobj
> m3-comm\netobjd
> m3-comm\stubgen
> m3-comm\events
> m3-comm\rdwr
> m3-comm\sharedobj
> m3-comm\sharedobjgen
> m3-db\odbc
> m3-db\postgres95
> m3-db\db
> m3-db\smalldb
> m3-db\stablegen
> m3-db\stable
> m3-ui\X11R4
> m3-ui\ui
> m3-ui\PEX
> m3-ui\vbtkit
> m3-ui\cmvbt
> m3-ui\jvideo
> m3-ui\videovbt
> m3-www\web
> m3-www\proxy
> m3-ui\formsvbtpixmaps
> m3-ui\formsvbt
> m3-ui\formsview
> m3-ui\formsedit
> m3-ui\codeview
> m3-tools\cvsup\suplib
> m3-tools\cvsup\client
> m3-tools\cvsup\server
> m3-tools\cvsup\cvpasswd
> m3-ui\mg
> m3-ui\mgkit
> m3-ui\opengl
> m3-ui\anim3D
> m3-ui\zeus
> m3-ui\m3zume
> m3-obliq\synloc
> m3-obliq\synex
> m3-obliq\metasyn
> m3-obliq\obliqrt
> m3-obliq\obliqparse
> m3-obliq\obliqprint
> m3-obliq\obliq
> m3-obliq\obliqlibemb
> m3-obliq\obliqlibm3
> m3-obliq\obliqlibui
> m3-obliq\obliqlibanim
> m3-obliq\obliqsrvstd
> m3-obliq\obliqsrvui
> m3-obliq\obliqbinmin
> m3-obliq\obliqbinstd
> m3-obliq\obliqbinui
> m3-obliq\obliqbinanim
> m3-obliq\obliqlib3D
> m3-obliq\visualobliq
> m3-obliq\vocgi
> m3-obliq\voquery
> m3-obliq\vorun
> m3-ui\webvbt
> m3-tools\recordheap
> m3-tools\rehearsecode
> m3-tools\replayheap
> m3-tools\showheap
> m3-tools\shownew
> m3-tools\showthread
> m3-ui\juno-2\juno-app\pkl-fonts
> m3-ui\juno-2\juno-machine
> m3-ui\juno-2\juno-compiler
> m3-ui\juno-2\juno-app
> m3-demo\cube
> m3-demo\calculator
> m3-demo\fisheye
> m3-demo\mentor
> caltech-parser\cit_common
> caltech-parser\m3tmplhack
> caltech-parser\cit_util
> caltech-parser\term
> m3-libs\deepcopy
> caltech-parser\paneman
> caltech-parser\paneman\kemacs
> caltech-parser\drawcontext
> caltech-parser\drawcontext\dcpane
> caltech-parser\drawcontext\kgv
> caltech-parser\hack
> caltech-parser\m3browserhack
> caltech-parser\parserlib\ktoklib
> caltech-parser\parserlib\klexlib
> caltech-parser\parserlib\kyacclib
> caltech-parser\parserlib\ktok
> caltech-parser\parserlib\klex
> caltech-parser\parserlib\kyacc
> caltech-parser\parserlib\kext
> caltech-parser\parserlib\parserlib
> caltech-parser\parserlib\parserlib\test
> m3-tools\pp
> m3-tools\kate
> m3-libs\sgml
> m3-www\deckscape
> m3-www\webscape
> m3-www\webcat
> m3-ui\bicycle
> m3-games\badbricks
> m3-games\columns
> m3-games\fours
> m3-games\maze
> m3-games\solitaire
> m3-games\tetris
> ---END-of-List---
>
>
>
>
>
>
>
> Here are the errors and warnings I am seeing currently in building all the packages listed above:
>
>
>
> --- processing package "m3-sys\m3cc" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> _m3000.sh:cd . && CFLAGS="-g -O2" AUTOCONF=: AUTOMAKE=: LEX='touch lex.yy.c' MA
> KEINFO=: ../gcc/configure -srcdir=../gcc -disable-bootstrap -disable-intl -di
> sable-libgomp -disable-libmudflap -disable-libssp -disable-nls -enable-languages
> =m3cg -enable-targets=all -disable-dependency-tracking -disable-fixincludes -dis
> able-libgcc -disable-decimal-float -disable-fixed-point | tee -a C:/cm3/Sandbox
> /cm3/m3-sys/m3cc/src/../NT386/_m3.log
> 'chmod' is not recognized as an internal or external command,
> operable program or batch file.
> 'sh' is not recognized as an internal or external command,
> operable program or batch file.
> "C:\cm3\Sandbox\cm3\m3-sys\m3cc\src\m3makefile", line 385: quake runtime error:
> exit 1: sh -ec ./_m3000.sh
> --procedure-- -line- -file---
> exec --
> m3cc_Run 385 C:\cm3\Sandbox\cm3\m3-sys\m3cc\src\m3makefile
> include_dir 514 C:\cm3\Sandbox\cm3\m3-sys\m3cc\src\m3makefile
> 4 C:\cm3\Sandbox\cm3\m3-sys\m3cc\NT386\m3make.args
> Fatal Error: package build failed
>
>
>
>
> --- processing package "m3-libs\libm3" ---
> --- building in NT386 ---
> "..\src\pickle\ver2\ConvertPacking.m3", line 170: warning: not used (CheckInt32)
> 1 warning encountered
>
>
>
>
> --- processing package "m3-sys\cm3" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> missing CM3_VERSION_NUMBER will read version file
> missing CM3_VERSION_TEXT will read version file
> missing CM3_LAST_CHANGED will read version file
>
>
>
>
> --- processing package "m3-sys\m3gdb" ---
> nothing attempts to build for this package
>
>
>
>
> --- processing package "m3-sys\mklib" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> new source -> compiling Main.m3
> "..\src\Main.m3", line 28: warning: unrecognized pragma (ignored) (UNALIGNED)
> 1 warning encountered
>
>
>
>
> --- processing package "m3-db\postgres95" ---
> nothing attempts to build for this package
>
>
>
>
> --- processing package "m3-ui\X11R4" ---
> nothing attempts to build for this package
>
>
>
>
> --- processing package "m3-ui\PEX" ---
> nothing attempts to build for this package
>
>
>
>
> --- processing package "m3-tools\cvsup\suplib" ---
> --- processing package "m3-tools\cvsup\client" ---
> --- processing package "m3-tools\cvsup\server" ---
> --- processing package "m3-tools\cvsup\cvpasswd" ---
> nothing attempts to build for these packages
>
>
>
>
> --- processing package "m3-ui\anim3D" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> new source -> compiling Win_OpenGL_Base.m3
> "..\src\win-opengl\Win_OpenGL_Base.m3", line 217: warning: exception is never raised: GraphicsBase.Failure
> "..\src\win-opengl\Win_OpenGL_Base.m3", line 2156: warning: potentially unhandled exception: GraphicsBase.Failure
> 2 warnings encountered
>
>
>
>
> --- processing package "m3-obliq\obliqrt" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> new source -> compiling ObValueCB.i3
> "..\NT386\ObValueCB.i3", line 9: warning: not used (ObValueRep)
> 1 warning encountered
> new source -> compiling ObValueCBProxy.i3
> "..\NT386\ObValueCBProxy.i3", line 9: warning: not used (ObValueRep)
> 1 warning encountered
> new source -> compiling ObValueSO.m3
> "..\NT386\ObValueSO.m3", line 12: warning: not used (AtomList)
> 1 warning encountered
> new exporters -> recompiling ObValueCBProxy.i3
> "..\NT386\ObValueCBProxy.i3", line 9: warning: not used (ObValueRep)
> 1 warning encountered
>
>
>
>
> --- processing package "caltech-parser\cit_common" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> unsupported m3_option value: "-X2 at -pg@"
> unsupported m3_option value: "-g"
>
>
>
>
> --- processing package "m3-libs\deepcopy" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> new source -> compiling DeepCopy.m3
> "..\src\DeepCopy.m3", line 56: warning: potentially unhandled exception: RTAllocator.OutOfMemory
> "..\src\DeepCopy.m3", line 61: warning: potentially unhandled exception:
> "..\src\DeepCopy.m3", line 97: warning: exception is never raised:
> 3 warnings encountered
>
>
>
>
> --- processing package "caltech-parser\parserlib\klexlib" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> new source -> compiling RegExpTok.m3
> "..\NT386\RegExpTok.m3", line 41: warning: potentially unhandled exception: RTAllocator.OutOfMemory
> 1 warning encountered
>
>
>
>
> --- processing package "caltech-parser\parserlib\parserlib\test" ---
> --- building in NT386 ---
> ignoring ..\src\m3overrides
> C:\cm3\bin/..\pkg\caltech-parser\parserlib\ktok\NT386\ktok ..\src\Calc.t -o CalcTok.i3
> The system cannot find the path specified.
> "C:\cm3\pkg\cit_util\src\generics.tmpl", line 38: quake runtime error: exit 1: C:\cm3\bin/..\pkg\caltech-parser\parserlib\ktok\NT386\ktok ..\src\Calc.t -o CalcTok.i3
> --procedure-- -line- -file---
> exec --
> _exec 38 C:\cm3\pkg\cit_util\src\generics.tmpl
> _xCons 37 C:\cm3\pkg\parserlib\src\parser.tmpl
> _tCons 70 C:\cm3\pkg\parserlib\src\parser.tmpl
> _tConsUn 71 C:\cm3\pkg\parserlib\src\parser.tmpl
> token 73 C:\cm3\pkg\parserlib\src\parser.tmpl
> include_dir 4 C:\cm3\Sandbox\cm3\caltech-parser\parserlib\parserlib\test\src\m3makefile
> 4 C:\cm3\Sandbox\cm3\caltech-parser\parserlib\parserlib\test\NT386\m3make.args
> Fatal Error: package build failed
>
>
>
>
> --- processing package "m3-tools\pp" ---
> nothing attempts to build for this package
>
>
>
>
> --- processing package "m3-tools\kate" ---
> --- building in NT386 ---
> KDESHARE not found; please define it!
>
>
>
>
> Regards,
>
> Randy Coleburn
>


More information about the M3devel mailing list