[M3devel] cm3-5.4 building on NT386 cat not recognized command

j k jayk123 at hotmail.com
Mon Jan 15 01:34:46 CET 2007


I commited fixes for the vostart and import-libs problems.
vostart starts up.
I left the m3makefile configurable as to if vostart (and vorun) are in in 
the bin directory so would tend to be in the path, or in the pkg\vorun\nt386 
directory as the original author seemed to intend.

The documention mentions export_program and hide_program, but they do not 
exist.

What is the right way to install a checked in file to c:\cm3\pkg\foo\nt386?
I put in
  install_derived ("..\\src\\vostart") % This isn't derived, but it gets it 
to the pkg\target directory.

which feels wrong.

What are people's thoughts on relatively flat directories that are in 
%path%, i.e.:
c:\cm3\bin\vorun.exe

vs. hierarchy c:\cm3\pkg\nt386\vorun.exe
and having to run somewhat private .exes by full path?

There are pluses and minuses either way of course. If you flatten the 
hierarchy, you get global namespace pollution but flexibility of layout. I 
like the flexibility. But I realize then..well, I have all these 
\env\vc20.cmd \env\vc40.cmd \env\perl.cmd \env\cm3.cmd \env\cm3.2.cmd 
scripts and my machine has no set configuration, just whatever I happened to 
set in the command line I'm at.

It is good both to bind something to particular versions of things, and to 
leave it flexible if it is indeed compatible with multiple versions. You 
don't want to build cross products -- cm3 against that compiler/linker, or 
against another, etc. So then I guess folks usually have environment 
variables to represent roots, one per changable root? This makes me think I 
should back the full paths stuff in cm3.cfg.... (and then of course there is 
pollution regarding chosing variable names for the root, and when it gets 
bad enough you end up with a hierarchical system like the Windows registry 
which everyone dislikes but solves real problems...)

I might look into the other problems later, but of course, volunteering and 
all that. :)

- Jay

>From: "Daniel Alejandro Benavides D." <dabenavidesd at yahoo.es>
>To: jayk123 at hotmail.com, m3devel at elegosoft.com
>Subject: RE: [M3devel] cm3-5.4 building on NT386 cat not recognized command
>Date: Sun, 14 Jan 2007 23:26:11 +0100 (CET)
>
>  Hi,
>I succesfully used type instead of cat, so obliq was built. I also added 
>file_exists in cm3.cfg. Thanks.
>I have tested m3browser, It runs just fine, congratulations !!
>
>So I continued with do-cm3-std.cmd built but I found that 
>m3-libs\m3core\src\thread is not built in any of the implementations (which 
>must be src\thread\WIN32 according to the thread\m3makefile wich has  
>OS_TYPE variable if not PTHREAD), but this directory has no built nothing , 
>so I was wondering if the variable M3_OSTYPE you mentioned is the same?
>Do you think is possible to use the Pthread part, with the pthread port on 
>Windows?
>
>C:\cm3-5.4\cm3-cvs\cm3\m3-tools\m3bundle\NT386\m3bundle -name 
>RehearseCodeBundle
>   -element RehearseCode.fv ..\src\RehearseCode.fv
>  new source -> compiling RehearseCodeBundle.i3
>  new source -> compiling RehearseCode.m3
>  new source -> compiling RehearseCodeBundle.m3
>   -> linking RehearseCode.exe
>  === package C:\cm3-5.4\cm3-cvs\cm3\m3-tools\replayheap ===
>  +++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
>  new source -> compiling Main.m3
>   -> linking replayheap.exe
>  === package C:\cm3-5.4\cm3-cvs\cm3\m3-tools\showheap ===
>  +++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
>  new source -> compiling ShowHeap.m3
>   -> linking showheap.exe
>  === package C:\cm3-5.4\cm3-cvs\cm3\m3-tools\shownew ===
>  +++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
>  new source -> compiling ZIO.i3
>  new source -> compiling ZIO.m3
>  new source -> compiling ShowNew.m3
>   -> linking shownew.exe
>  === package C:\cm3-5.4\cm3-cvs\cm3\m3-tools\showthread ===
>  +++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
>  new source -> compiling Main.m3
>  "..\src\Main.m3", line 12: unable to find interface (ThreadEvent)
>  1 error encountered
>  compilation failed => not building program "showthread.exe"
>  Fatal Error: package build failed
>  *** execution of cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3 
>failed with 0 ***
>  ....
>
>By the way, the above ThreadEvent missing interface is not in the WIN32 
>directory, can be copied?
>
>Thanks,
>Daniel Benavides
>
>----------
> >j k <jayk123 at hotmail.com> wrote:
>
> >Good!
>
> >The problems in obliq I know about.
> >They are old. Getting this far in "std" I think is pretty good.
>
> >I'm sure we can just switch on M3_OSTYPE and use type or echo instead of
> >cat, or add more builtins to quake.
>
> >Question: M3_OSTYPE, this it meant to be a query about the target and not
> >the host, right?
> >My suspected anwer: Cross builds aren't actually factored into the build
> >system right. There is not a way to check one vs. the other. That is, 
>host
> >is mostly assumed to be target. Not completely broken, since cross builds
> >are doable, in a way I am not familiar with but is documented.
>
> >file_exists should be either in that m3makefile or the global cm3.cfg.
> >it is defined by me as like:
>
> >proc file_exists(a) is
> >return stale(a, a)
> >end
>
> >I thought the use of "stale(a,a)" in places kind of obscure and worthy of 
>a
> >name.
>
> >In order to work with whatever global cm3.cfg someone has, let's just put
> >in a local definition. Some of the history in the import-libs directory 
>is
> >it did not initially build incrementally, just always clean, so my 
>changes
> >for incrementality have less time under their belt, so to speak.
>
> >- Jay
>
>
> >>From: "Daniel Alejandro Benavides D."
> >>To: m3devel at elegosoft.com
> >>Subject: [M3devel] cm3-5.4 building on NT386 cat not recognized command
> >>Date: Sun, 14 Jan 2007 20:05:24 +0100 (CET)
> >>
> >>Hi all:
> >>Im trynig to get build with the bootstrap of 5.2.6, do-cm3-base.cmd
> >>works well. Just got an error in about file
> >>C:\cm3-5.4\cm3-cvs\cm3\m3-win\import-libs\src\m3makefile
> >>
> >>C:\cm3-5.4\cm3-cvs\cm3\scripts\win>do-cm3-base.cmd
> >>INSTALLROOT=C:\cm3
> >>LIB=%INSTALLROOT%\LIB;%LIB%
> >>CM3ROOT=C:\\cm3-5.4\\cm3-cvs\\cm3
> >>
> >>making C:\cm3-5.4\cm3-cvs\cm3\scripts\win\PKGS with
> >>C:\cm3-5.4\cm3-cvs\cm3\scripts\win\find-packages
> >>call C:\cm3-5.4\cm3-cvs\cm3\scripts\win\pkgmap -c "cm3 -build -override
> >>-DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" import-libs m3core libm3 m3middle 
>m3quake
> >>m3scanner m3tools m3cgcat m3cggen m3bundle mklib dll2lib fix_nl libdump
> >>bitvector digraph parseparams realgeometry set slisp sortedtableextras
> >>table-list tempfiles tcp tapi
> >>
> >>=== package C:\cm3-5.4\cm3-cvs\cm3\m3-win\import-libs ===
> >>+++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
> >>unable to read ..\src\m3overrides, options "-override" and "-x" ignored.
> >>"C:\cm3-5.4\cm3-cvs\cm3\m3-win\import-libs\src\m3makefile", line 178: 
>quake
> >>runtime error: undefined variable: file_exists
> >>
> >>--procedure-- -line- -file---
> >>
> >>include_dir 178
> >>C:\cm3-5.4\cm3-cvs\cm3\m3-win\import-libs\src\m3makefile
> >> 5
> >>C:\cm3-5.4\cm3-cvs\cm3\m3-win\import-libs\NT386\m3make.args
> >>Fatal Error: package build failed
> >>
> >>*** execution of cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3
> >>failed with 0 ***
> >>
> >> I just commented the whole if of line 178 and it worked well. Then I
> >>tried the do-cm3-std.cmd, and it works well until formsview package, but
> >>when in m3-obliq got an error because a missing cat:
> >>
> >> -> linking vocgi.exe
> >>=== package C:\cm3-5.4\cm3-cvs\cm3\m3-obliq\voquery ===
> >>+++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
> >>new source -> compiling Main.m3
> >> -> linking voquery.exe
> >>=== package C:\cm3-5.4\cm3-cvs\cm3\m3-obliq\vorun ===
> >>+++ "cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" +++
> >>C:\cm3-5.4\cm3-cvs\cm3\m3-tools\m3bundle\NT386\m3bundle -name 
>VORunBundle
> >>-FC:\D
> >>OCUME~1\LUISCA~1\CONFIG~1\Temp\qk
> >>new source -> compiling VORunBundle.i3
> >>new source -> compiling VORunBundle.m3
> >>new source -> compiling Main.m3
> >> -> linking vorun.exe
> >>cat ..\src\vostart >> vostart
> >>"cat" is not recognized as an internal or external command, operable
> >>program or batch file.
> >>
> >>"C:\cm3-5.4\cm3-cvs\cm3\m3-obliq\vorun\src\m3makefile", line 33: quake
> >>runtime error: exit 1: cat ..\src\vostart >> vostart
> >>
> >>--procedure-- -line- -file---
> >>exec --
> >>include_dir 33 C:\cm3-5.4\cm3-cvs\cm3\m3-obliq\vorun\src\m3makefile
> >> 6
> >>C:\cm3-5.4\cm3-cvs\cm3\m3-obliq\vorun\NT386\m3make.args
> >>
> >>Fatal Error: package build failed
> >>*** execution of cm3 -build -override -DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3
> >>failed with 0 ***
> >>error : call C:\cm3-5.4\cm3-cvs\cm3\scripts\win\pkgmap -c "cm3 -build
> >>-override
> >>-DROOT=C:\\cm3-5.4\\cm3-cvs\\cm3" import-libs m3core libm3 m3core 
>m3middle
> >>m3quake m3scanner m3tools m3cgcat m3cggen m3bundle mklib dll2lib fix_nl
> >>libdump bitvector digraph parseparams realgeometry set slisp
> >>sortedtableextras table-list tempfiles tcl tcp udp libsio libbuf debug
> >>listfuncs patternmatching embutils m3tk-misc http binIO deepcopy sgml 
>tapi
> >>serial m3tk mtex m3totex m3tohtml m3scan m3markup m3browser cmpdir cmpfp
> >>dirfp uniq netobj netobjd stubgen events rdwr sharedobj sharedobjgen 
>odbc
> >>postgres95 db smalldb stable stablegen X11R4 ui PEX vbtkit cmvbt jvideo
> >>videovbt web formsvbtpixmaps formsvbt formsview formsedit codeview mg 
>mgkit
> >>opengl anim3D zeus m3zume synloc synex metasyn obliqrt obliqparse obliq
> >>print obliq obliqlibemb obliqlibm3 obliqlibui obliqlibanim obliqsrvstd
> >>obliqsrvui obliqbinmin obliqbinstd obliqbinui obliqbinanim visualobliq 
>vocgi >>voquery vorun webvbt recordheap rehearsecode replayheap showheap 
>shownew >>showthread pkl-fonts juno-machine juno-compiler juno-app cube 
>calculator fisheye
> >>mentor failed
> >>
> >>C:\cm3-5.4\cm3-cvs\cm3\scripts\win>
> >>
> >>Can we use a native port of cat, or bunddle in the distro?
> >>
> >>Thanks,
> >>Daniel Benavides
>
>
>
>---------------------------------
>
>LLama Gratis a cualquier PC del Mundo.
>Llamadas a fijos y móviles desde 1 céntimo por minuto.
>http://es.voice.yahoo.com

_________________________________________________________________
Type your favorite song.  Get a customized station.  Try MSN Radio powered 
by Pandora. http://radio.msn.com/?icid=T002MSN03A07001




More information about the M3devel mailing list