[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-announce] [Chicken-users] CHICKEN 4.10.0 release candidate
Re: [Chicken-announce] [Chicken-users] CHICKEN 4.10.0 release candidate 4 available
Mon, 27 Jul 2015 14:02:04 +0200
On Mon, Jul 27, 2015 at 08:32:07PM +0900, Tim van der Linden wrote:
> > The GCC bug is known; I tried to explain this in the RC announcement
> > mail. It will probably disappear with CHICKEN 4.11, if it includes the
> > new "argvector" branch. If you would like to run the tests through to
> > completion on this platform you can try installing the gcc-4.8 package
> > or clang, and set the C_COMPILER variable to this compiler.
> Hmm, this is strange, I tried with a previous version of the GCC compiler
> $ make PLATFORM=linux C_COMPILER=gcc-4.8 PREFIX=/home/tim/chicken-test/
> install check
> Again, same thing, stuck for over two hours on that same step.
> So, I decided to try Clang:
> $ make PLATFORM=linux C_COMPILER=clang PREFIX=/home/tim/chicken-test/ install
> Again, same thing. Before every run I clear out my build area so no remnants
> of the previous run remain. In the first few lines of the process I can see
> it uses the compiler I set in the variable:
How do you clear out the build area? I think you might be doing
"make clean", but that just cleans the built files, whereas
"make confclean" will also clean the configuration, which is where
the C_COMPILER is written to. This is documented in the README, by
the way, but the consequences might not be immediately obvious.
You can also just try deleting the dir and re-extracting the tarball.
That will ensure that the build dir is clean.
> To my newbie eyes this looks like 'gcc' is hard-coded in there...somehow...?
> Whatever I do, it is picking up the correct compiler on start, but once the
> tests run it uses the "default" gcc setting...what am I messing up here?
It gets "hardcoded" into chicken-config.h the first time you run make.
If you run make with a different C_compiler later on, it will only use
that C compiler to compile the C files, but "csc" will use the C compiler
from chicken-config.h. The reason behind this probably is so that you
can configure a C compiler which is different from the host compiler, for
example when cross-compiling.
It sure can be confusing, though :)
Description: Digital signature