Thomas Thiriez via General Guile related discussions schreef op di 28- 06-2022 om 16:41 [+0200]: > Jean Abou Samra <j...@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