chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1360: README instructions for building from git sugg


From: Chicken Trac
Subject: [Chicken-janitors] #1360: README instructions for building from git suggest setting LD_LIBRARY_PATH
Date: Fri, 07 Apr 2017 09:45:34 -0000

#1360: README instructions for building from git suggest setting LD_LIBRARY_PATH
---------------------+--------------------------------
 Reporter:  caolan   |                 Owner:
     Type:  defect   |                Status:  new
 Priority:  major    |             Milestone:  someday
Component:  unknown  |               Version:  5.0
 Keywords:           |  Estimated difficulty:
---------------------+--------------------------------
 The README suggests doing this when using a bootstrap chicken that is not
 installed. Perhaps unsurprisingly, it doesn't work. I got the following
 make error when attempting to build this way:

 {{{
 LD_LIBRARY_PATH=/vagrant/chicken-4.12.0/ make PLATFORM=linux
 CHICKEN=/vagrant/chicken-4.12.0/chicken

 ...

 /vagrant/chicken-4.12.0/chicken support.scm -optimize-level 2 -include-
 path . -include-path ./ -inline -ignore-repository -feature chicken-
 bootstrap -no-warnings -specialize -consult-type-file ./types.db  -no-
 lambda-info -no-trace  -emit-import-library chicken.compiler.support
 -output-file support.c
 /vagrant/chicken-4.12.0/chicken: symbol lookup error:
 /vagrant/chicken-4.12.0/chicken: undefined symbol: C_srfi_2d1_toplevel
 rules.make:873: recipe for target 'support.c' failed
 make: *** [support.c] Error 127
 }}}

 Here is the relevant section from the README:

 {{{
     2.2. Building from git

         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.

         If you are building in a checkout where you have built other
         versions of chicken, you need to make sure that all traces of
         the previous build are removed. "make clean" is insufficient,
         and you should do the following:

             make PLATFORM=<platform> spotless

         If you have a recent version of CHICKEN installed, then pass
         "CHICKEN=<chicken-executable>" to the "make" invocation to
         override this setting. "CHICKEN" defaults to "chicken".

         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=<platform>", then use it to
         build your git chicken like so:

             LD_LIBRARY_PATH=<release dir> make PLATFORM=<platform> \
               CHICKEN=<release dir>/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.
 }}}

 The solution for me was to install the chicken 4.12.0 I had built, then
 run "make PLATFORM=linux".

--
Ticket URL: <https://bugs.call-cc.org/ticket/1360>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]