[gambit-list] Failed to build Gambit v4.6.0 on i586 (builds fine on x86-64)

Marc Feeley feeley at iro.umontreal.ca
Tue Apr 12 10:40:48 EDT 2011


On 2011-04-12, at 3:36 AM, Paul Wolneykien wrote:

> 
>  Hi, Marc.
> 
>  Would you be so kind as to look at my build log? I probably do
> something wrong…
> 
> 
>  TIA,
> 
>    Paul.

Building Gambit with an older version of Gambit is a tricky business.  The "make update" target is supposed to automate this process (if you have built v4.5.3 with the "-devel" tar file).  Unfortunately, that target has a bug (which is not yet fixed, and in any case would not fix v4.5.3 that you have installed on your machine!).

If you want to build with the latest changes from the repository using Gambit v4.5.3 then you can use this recipe:

git clone "http://www.iro.umontreal.ca/~gambit/repo/gambit.git"

cd gambit/gsc

echo "(define ##os-bat-extension-string-saved \"\")" > missing.scm

gsc -exe -o ../gsc-comp missing.scm _host.scm _utils.scm _source.scm _parms.scm _env.scm _ptree1.scm _ptree2.scm _gvm.scm _back.scm _front.scm _prims.scm _t-c-1.scm _t-c-2.scm _t-c-3.scm _gsclib.scm _gsc.scm

cd ..

./configure --enable-single-host
make
make check

As you can see it builds gsc-comp (the bootstrap compiler) from the latest gsc sources using the Gambit v4.5.3 compiler.  So gsc-comp is a v4.5.3 program which when executed compiles Scheme code according to the logic of the latest compiler (v4.6.1 + latest changes).  This almost works automatically...  I had to add a definition for ##os-bat-extension-string-saved which is used by the file _gsclib.scm to invoke the shell script bin/gambc-cc which invokes the C compiler.  That definition has been added recently to fix a bug on CYGWIN.  Its value depends on the configure script, which affects a definition in lib/os.c, which lib/_kernel.scm accesses to produce the binding of ##os-bat-extension-string-saved.

Marc




More information about the Gambit-list mailing list