Subject: Re: bug#10681: GNU Guile 2.0.5 released

From: Hans Aberg <[email-masked]>
Date: Tue, 31 Jan 2012 20:30:03 +0100

On 31 Jan 2012, at 19:04, Mark H Weaver wrote:

>> The 'make check' gives this error, on OS X 10.7.2 using the compiler
>> i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 supplied by Xcode 4.2.1:
>> 
>>  PASS: test-asmobs
>> bad return from expression `(f-sum -1 2000 -30000 40000000000)': expected 39999971999; got 39999972255
> 
> I may be stating the obvious here, but the -1, which is declared to be
> of type 'scm_t_int8' in the C function being called, is apparently being
> interpreted as 255.  This suggests that whatever is handling its
> promotion to a full int is failing to extend its sign bit.  I'm guessing
> that this is libffi's job.

It is broken (libffi from GIT, the only that works on OX 10.7):

$ make check
Making check in include
make[1]: Nothing to be done for `check'.
Making check in testsuite
make  check-DEJAGNU
srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd ../../libffi/testsuite && pwd`; export srcdir; \
	EXPECT=`if [ -f ../../expect/expect ] ; then echo ../../expect/expect ; else echo expect ; fi`; export EXPECT; \
	runtest=`if [ -f ../../libffi/../dejagnu/runtest ] ; then echo ../../libffi/../dejagnu/runtest ; else echo runtest; fi`; \
	if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \
	  exit_status=0; l='libffi'; for tool in $l; do \
	    if $runtest  --tool $tool --srcdir $srcdir ; \
	    then :; else exit_status=1; fi; \
	  done; \
	else echo "WARNING: could not find \`runtest'" 1>&2; :;\
	fi; \
	exit $exit_status
WARNING: could not find `runtest'
Making check in man
make[1]: Nothing to be done for `check'.
make[1]: Nothing to be done for `check-am'

> Hans: can you please verify that your libffi's 'make check' passes all
> tests on your platform?  If it passes, and if this ends up being a
> different build of 'libffi' than you were previously using, it would be
> helpful if you could install the newly-built 'libffi', then do a fresh
> rebuild of Guile 2.0.5 and see if that fixes the problem.

I have installed the newly built libffi, but rebuilding guile takes a lot of time.

Hans