[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 64-bit Guile on Windows
From: |
Maxime Devos |
Subject: |
Re: 64-bit Guile on Windows |
Date: |
Tue, 28 Jun 2022 18:14:22 +0200 |
User-agent: |
Evolution 3.38.3-1 |
Thomas Thiriez via General Guile related discussions schreef op di 28-
06-2022 om 16:41 [+0200]:
> Jean Abou Samra <jean@abou-samra.fr> writes:
>
> > Le 27/06/2022 à 15:56, Thomas Thiriez via General Guile related
> > discussions a écrit :
> [...]
> > > (* 999 999 999) -> -76738825
> [...]
> >
> > We had exactly the same problem at LilyPond, and this was the
> > fix:
> >
> > https://gitlab.com/lilypond/lilypond/-/blob/master/release/binaries/lib/dependencies.py#L721
> >
> > Namely, you need to patch libguile/conv-integer.i.c and
> > conv-uinteger.i.c to replace "SIZEOF_TYPE < SIZEOF_SCM_T_BITS"
> > with "SIZEOF_TYPE < SIZEOF_LONG".
> >
> > HTH,
> > Jean
>
> Thanks for the info. I have tried this, but it doesn't appear to
> be helping.
>
> I did a few tests with lilypond, and here is what I found. I have
> a test.scm file containing:
>
> (display (* 999)) (newline)
> (display (* 999 999)) (newline)
> (display (* 999 999 999)) (newline)
>
> lilypond.exe -e '(load \"test.scm\")' test.ly
> GNU LilyPond 2.23.10 (running Guile 2.2)
> 999
> 998001
> 997002999
>
> That is fine. Now, if I try compiling test.scm to test.go, I get:
>
> lilypond.exe -e '(use-modules (system base compile))(compile-file
> \"test.scm\" #:output-file \"test.go\")' test.ly
> GNU LilyPond 2.23.10 (running Guile 2.2)
> ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
> In procedure bytevector-u64-set!: Value out of range: -149659645
You can find some possibly related bugs on debbugs:
Possibly fixnum-related, so maybe:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42060
Maybe 32-bit <-> 64-bit related, so maybe:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28920
Also, guile@2.2 is not developed anymore AFAICT.
Greetings,
Maixme.
signature.asc
Description: This is a digitally signed message part