[M3devel] Still can't bootstrap cm3

Rodney M. Bates rodney.bates at wichita.edu
Tue Nov 11 21:39:09 CET 2008


We still have serious problems with the cm3 system building.
I have again gotten into a big hampster wheel of several different
failures, and still can't rebuild a working compiler.
I have gone through enough steps that I am not just positive
I have remembered it all right, but it was something like this:

I started with ./do-cm3-front.sh, ./do-cm3-front.sh -ship, and
./install-cm3-compiler.sh upgrade.  That left me with a compiler
that always failed with:

------------------------------------------------------------------------------------------------------------

rodney at yellowstone:~/proj/m3/cm3-new/cm3/m3-sys/m3middle$ cm3 -build
--- building in LINUXLIBC6 ---

ignoring ../src/m3overrides

"/usr/local/cm3/pkg/libm3/src/bundleintf/bundle-ov.tmpl", line 4: quake runtime 
error: undefined variable: ROOT

--procedure--  -line-  -file---
_import_template       4  /usr/local/cm3/pkg/libm3/src/bundleintf/bundle-ov.tmpl
_import_template       4  /usr/local/cm3/pkg/libm3/src/bundleintf/bundle-ov.tmpl
import            274  /usr/local/cm3/pkg/libm3/LINUXLIBC6/.M3EXPORTS
include_dir        11 
/home/rodney/proj/m3/cm3-new/cm3/m3-sys/m3middle/src/m3makefile
                     4 
/home/rodney/proj/m3/cm3-new/cm3/m3-sys/m3middle/LINUXLIBC6/m3make.args

Fatal Error: package build failed

-----------------------------------------------------------------------------------------------------------

Then I tried rebuilding using various do-cm3-* scripts, including after
supplying argument realclean (which, I have learned many times in the
past, is essential to avoid all sorts of problems), with the same results.
Somewhere in here, I started getting the bad version stamp failures too.
Eventually, trying to rebootstrap with ./upgrade.sh, and also manually,
a package at a time, I was consistently getting:

--------------------------------------------------------------------------------------------------------

rodney at yellowstone:~/proj/m3/cm3-new/cm3/m3-sys/m3middle$ cm3 -build
--- building in LINUXLIBC6 ---

ignoring ../src/m3overrides

"/usr/local/cm3/pkg/libm3/LINUXLIBC6/.M3EXPORTS", line 4: quake runtime error: 
unable to open 
"/home/rodney/proj/m3/cm3-new/cm3/m3-libs/m3core/LINUXLIBC6/.M3EXPORTS" for reading

--procedure--  -line-  -file---
import_version      --  <builtin>
import              4  /usr/local/cm3/pkg/libm3/LINUXLIBC6/.M3EXPORTS
include_dir        11 
/home/rodney/proj/m3/cm3-new/cm3/m3-sys/m3middle/src/m3makefile
                     4 
/home/rodney/proj/m3/cm3-new/cm3/m3-sys/m3middle/LINUXLIBC6/m3make.args

Fatal Error: package build failed

-----------------------------------------------------------------------------------------------------------

Perhaps it was the realclean that deleted all the .M3EXPORTS files.
../boot_cm3-core.sh LINUXLIBC6 gave this failure:

-----------------------------------------------------------------------------------------------------------

rodney at yellowstone:~/proj/m3/cm3-new/cm3/scripts$ ./boot-cm3-core.sh
please specify a cross compilation target platform
rodney at yellowstone:~/proj/m3/cm3-new/cm3/scripts$ ./boot-cm3-core.sh LINUXLIBC6
/home/rodney/proj/m3/cm3-new/cm3/scripts/pkgmap.sh -c "cm3 -build -override 
-DROOT='/home/rodney/proj/m3/cm3-new/cm3' -DCM3_VERSION_TEXT='d5.7.0' 
-DCM3_VERSION_NUMBER='050700' -DCM3_LAST_CHANGED='2008-03-16' 
-DM3_BOOTSTRAP=TRUE -keep" m3core libm3 sysutils m3middle m3objfile m3linker 
m3back m3front m3quake cm3 m3scanner m3tools m3cgcat m3cggen m3bundle bitvector 
digraph parseparams realgeometry set slisp sortedtableextras table-list tempfiles
=== package /home/rodney/proj/m3/cm3-new/cm3/m3-libs/m3core ===
  +++ cm3 -build -override -DROOT='/home/rodney/proj/m3/cm3-new/cm3' 
-DCM3_VERSION_TEXT='d5.7.0' -DCM3_VERSION_NUMBER='050700' 
-DCM3_LAST_CHANGED='2008-03-16' -DM3_BOOTSTRAP=TRUE -keep +++
--- building in LINUXLIBC6 ---

new source -> compiling RTHooks.i3
/bin/sh: 
/home/rodney/proj/m3/cm3-new/cm3/m3-sys/m3cc/LINUXLIBC6-LINUXLIBC6/cm3cg: not found
   m3_backend => 127
m3cc (aka cm3cg) failed compiling: RTHooks.ic

---------------------------------------------------------------------------------------------------------

Fortunately, an earlier ./upgrade.sh had built a cm3cg (though it had failed
on all the Modula-3 code).  I got around the above by putting in a symbolic
link from cm3/m3-sys/m3cc/LINUXLIBC6-LINUXLIBC6 to cm3/m3-sys/m3cc/LINUXLIBC6,
so it could find cm3cg.

Then I went through the package-at-a-time order Tony had given in an old post
to the m3devel list.  That had other problems.  Running cm3 in the package
directory failed with the undefined ROOT problem, but do-pkg.sh would do the
build.  But do-pkg.sh doesn't appear to do a ship, so I had to do that in
each package with cm3 -ship.

After building and shipping m3 middle and m3front, package cm3 itself wouldn't
link, wanting libraries for m3back, m3objfile, m3quake, sysutils, m3linker, libm3,
and m3core.  I skipped it and m3gc*, which don't exist now, and went through the
rest of the order, which completed without failures building.  But that gave
me a compiler that fails with a new problem I have never seen before:

---------------------------------------------------------------------------------------------------------

rodney at yellowstone:~/proj/m3/cm3-new/cm3/scripts$ ./install-cm3-compiler.sh upgrade
cp_if: /usr/local/cm3/bin/cm3 and /usr/local/cm3/bin/cm3-d5.7.0 identical
cp_if: /usr/local/cm3/bin/cm3cg and /usr/local/cm3/bin/cm3cg-d5.7.0 identical


***
*** runtime error:
***    A compile-time type is missing.
***    file "../src/Utils.m3"
***

Aborted (core dumped)
cp /home/rodney/proj/m3/cm3-new/cm3/m3-sys/cm3/LINUXLIBC6/cm3 
/usr/local/cm3/bin/cm3-
cp /home/rodney/proj/m3/cm3-new/cm3/m3-sys/m3cc/LINUXLIBC6/cm3cg 
/usr/local/cm3/bin/cm3cg-
cp /usr/local/cm3/bin/cm3- /usr/local/cm3/bin/cm3
cp /usr/local/cm3/bin/cm3cg- /usr/local/cm3/bin/cm3cg

------------------------------------------------------------------------------------------------------------

Going back to an older cm3 makes that go away and makes the ROOT problem
recur.  Working around that with cm3 -DROOT="/home/rodney/proj/m3/cm3-new/cm3"
get the compiler to run, but it doesn't do anything, because it thinks
nothing needs to be recompiled.  I could delete stuff, but I fear that would
just start me around another iteration of the same thing.

I don't believe I have ever gotten a bootstrap to work.  I think I have always
had to download a recent binary and go from there.

Any help would be greatly appreciated.

Rodney Bates




More information about the M3devel mailing list