Subject: bug#13342: Errors trying to build Guile 2.0.7

From: [email-masked] (Ludovic Courtès)
Date: Fri, 04 Jan 2013 18:23:34 +0100

Hi,

Peter Teeson <[email-masked]> skribis:

> On 2013-01-03, at 10:22 AM, Ludovic Courtès wrote:
>>> (A) I solved this one by installing GNU readline-6.2.
>>> Prior to that it must have used Apple's deadline which didn't have the rl_get_keymap_name
>>> function.
>> 
>> Yes, that’s because you were using the Readline “compatibility” layer of
>> libeditline, which is shipped as part of MacOS.
>
>>> You might wish to make a test for that function in configure and maybe make GNU readline a required lib?
>> 
>> There are tests checking for GNU Readline.  The problem is that
>> libeditline attempts to replicate Readline’s API, but not quite, hence
>> the problem.  That’s why ‘README’ insists on using GNU Readline.
> Before I did/do anything I always read the README ;}
> Somehow I missed the README insisting - I still don't see it there;}
> There is a cryptic statement on page 1
> "It will also use the libreadline library if it is available." 
>
> and buried later on at line 413 (using BBEdit)
> "guile-readline:
>       The glue code for using GNU readline with Guile.  This
>       will be build when configure can find a recent enough readline
>       library on your system."
>
> I agree there should be something mentioning the Mac situation and insisting on on GNU Readline. Where do you think it should be explicitly mentioned? In the Special Instructions For Some Systems section?

Well, you’re right that it doesn’t really insist.  ;-)  It does mention
GNU Readline though, which is not what was being used here.

I’m reluctant to adding anything special about libeditline, since
they’re really failing to be compatible with Readline here, and it’s
something to be fixed in libeditline.

>>> bad return from expression `(f-sum -1 2000 -30000 40000000000)': expected 39999971999; got 39999972255
>>> FAIL: test-ffi
>> 
>> This is a known issue when building Guile with LLVM/Clang:
>> 
>> http://bugs.gnu.org/10015
>> http://bugs.gnu.org/10681
>> 
>> It would be great if you could investigate.
>
> I'd be glad to try and help but please give me pointers on how to approach this.

I’d first add printfs in test_ffi_sum (in test-ffi-lib.c) to see if it
gets the right arguments.  Depending on the result, I’d try to call
test_ffi_sum from C with the same arguments to see if it’s an
integer-wrapping issue.

I’ll try a Clang build when time permits to see what happens.

Thanks,
Ludo’.