From c455d8c9a87d07de8e9ad3af5e888ec88b877e1f Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Tue, 10 Oct 2017 11:39:59 +0200 Subject: [PATCH] Improve instructions for building from git The instructions mentioned using LD_LIBRARY_PATH to override the library search location but in an incorrect way. Besides, just setting LD_LIBRARY_PATH might not be enough and it's more complicated than simply instructing the user to install to a (temporary) location. Furthermore, the instructions mentioned getting the latest release tarball, but it's generally more reliable to use the closest development snapshot. Finally, just building might not work, you might need to build a boot-chicken first. --- README | 39 ++++++++++++++++++--------------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/README b/README index 6ee15437..7f599029 100644 --- a/README +++ b/README @@ -95,8 +95,7 @@ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ If you build CHICKEN directly from the development sources out of the git repository, you will need a "chicken" executable to - generate the compiled C files from the Scheme library - sources. + generate the compiled C files from the Scheme library sources. If you are building in a checkout where you have built other versions of chicken, you need to make sure that all traces of @@ -105,25 +104,23 @@ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ make PLATFORM= spotless - If you have a recent version of CHICKEN installed, then pass - "CHICKEN=" to the "make" invocation to - override this setting. "CHICKEN" defaults to "chicken". + You will need to have a "chicken" binary installed, ideally + from the development snapshot tarball that is closest to the + git version you are trying to build (significantly older or + newer ones are unlikely to work), and then use that chicken + to build from your git sources. Installing this CHICKEN is + recommended, if necessary you can install it to a temporary + location in your homedir for example. - If you do not have a "chicken" binary installed, you will have - to build from the closest release tarball to the git version - you are trying to build (significantly older or newer ones are - unlikely to work), and then use that chicken to build from - your git sources. You don't need to install the release - tarball chicken; simply unpack and build it in its own - directory with "make PLATFORM=", then use it to - build your git chicken like so: + Then, to build you can do: - LD_LIBRARY_PATH= make PLATFORM= \ - CHICKEN=/chicken + make PLATFORM= CHICKEN=/bin/chicken - The LD_LIBRARY_PATH is needed on Linux to allow chicken to - find libchicken; it may or may not be needed on your platform, - but probably won't do any harm. + In some cases, the sources may have diverged enough to + become unbuildable even with the snapshot. Then you'll need + to first build a bootstrapping compiler with the installed + CHICKEN and then use that to build the version from git. + See the "Bootstrapping" section below. 2.3. Finishing the installation @@ -645,9 +642,9 @@ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ 6. Bootstrapping To build a bootstrapping compiler yourself, get the most - recent release tarball from http://code.call-cc.org, unpack - it, build and install it. Then change to the directory - containing the git code and run: + recent development snapshot tarball from + http://code.call-cc.org, unpack it, build and install it. + Then change to the directory containing the git code and run: make PLATFORM= CHICKEN= \ boot-chicken -- 2.11.0