[M3devel] Providing some current CM3 bootstrap archives, was: Re: m3cg build failure on powerpc/darwin

Mika Nystrom mika at async.caltech.edu
Tue Dec 18 13:55:15 CET 2007

Hi Olaf,

I'm sorry to say there is a bit of a problem with your bootstrap for
FreeBSD.  FreeBSD is beautifully *backward*-compatible, but it's not
*forward*-compatible (it may be within a major release, but it's not
generally forward-compatible across major releases).  The distribution
you built on 6.3-PRERELEASE will work for sure on 6.x (x>=3), may work
on 6.x (x<3), and will almost certainly not work on y.x (y<6).  To
remedy this I built a bootstrap on 4.11.  It is located at


This compiler should work on pretty much any FreeBSD 4.x, 5.x, and
possibly also 6.x.

I have to say that it was a bit of an ordeal.  I had problems from
an old cm3.cfg (mine just never seems to get upgraded right), with
-g instead of -gstabs+.  I also had two sets of problems stemming
from LONGINT: first, of course, my old compiler didn't know what
LONGINT was so I searched through my email and indeed I found
something from Tony referring to building a bootstrap on NT386 from
which I could infer what to do: one has to check out a "mixed"
repository mixing the "devel_LONGINT_start" tagged sources with the
CVS head.  The problems with Int64.i3 and Long.m3 that I think we've
seen on other platforms reared their ugly heads here too (although
these may have been due to my -g issues, i.e., not having an
up-to-date back-end?)

In short, in order to build a bootstrap from a pre-LONGINT compiler
at the moment, you have to be an expert at this, pretty much, you
have to remember approximately where in the mailing list archive
the answers are, and I would say it's a good chance that 100% of
the scripts that purport to be able to do things like bootstrap
cm3, well, they don't work at all.  I don't even want to think about
bootstrapping CM3 with PM3 or SRC M3...(I think there are systems
for which some of those are all that's available?)


P.S. I checked in a little bugfix (C++ism removal) for m3gdb as part 
of this.

Olaf Wagner writes:
>Quoting Tony Hosking <hosking at cs.purdue.edu>:
>> A break is always good.  :-)
>Hi again,
>after some hours of sleep I can report at least some success on
>my old Darwin installation. I've put the archives on our web server
>for public access, and would like to add some more.
>I still think a Darwin build on a newer system may be a good idea (we
>can offer both on our web pages), and we definitely need some
>for Linux (perhaps multiple distros, too, there?)
>Solaris and Darwin/i386 would be great, too, and NetBSD, and of
>course Windows. Mika offered to provide an archive for old FreeBSD
>distributions (4.x).
>So everybody who is willing to produce some installation archives,
>please let me know, and I'll make sure they get shipped to our
>Please note that for the scripts/make-bin-dist-min.sh to work,
>you need a sample configuration file in cm3/m3-sys/cm3/src/config/XXX,
>as the ones in cminstall/src/config must be processed by the installer
>first. Jay has removed the samples there a little bit too eagerly,
>but most where outdated anyway.
>To upgrade from an older compiler I have successfully used the
>upgrade.sh script. So the complete sequence to build a bootstrap
>on your favourite platform would be:
>  1. Check out the current CVS head
>  2. Copy your (working) configuration file to cm3/src/config/<TARGET>
>  3. Adapt the installer configuration file if necessary in
>     cminstall/src/config/<TARGET>. Make sure that all system libraries
>     get dynamically linked, for instance.
  4. scripts/upgrade.sh
>  5. scripts/make-bin-dist-min.sh
>Any help will be appreciated.
>Thanks in advance,
>Olaf Wagner -- elego Software Solutions GmbH
>                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
>phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
>    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
>Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194

More information about the M3devel mailing list