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
Afficher les réponses par date
12.04.2011 18:40, Marc Feeley пишет:
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
Thanks, I'll try to build the bootstrap using the commands above. Nevertheless, I want to set up a build process on a regular basis. So, it would be nice to use some make target instead of a number of filenames on the command line as it may change over time.
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
If I understand you right, there is no need to build the bootstrap twice in a row (make bootstrap, update version, make bootclean; make bootstrap)?
TIA,
Paul.