Using the head of the devel branch (at least up to commit 6b24b402cc97e2322e766d2ac674e57c0f6a671f) it sometimes happens that calling an R6RS record constructor fails because the constructor function binding references #<void> rather than the function. In such cases the code fails with an error like:
This happens when the executable is run with options -O1, -O2, -O3 without debugging mode; it does not happen when using -O0 or turning on debugging mode. Notice that, by default, Vicare runs with -O2.
I am still working on finding a small example of code that reproduces this problem; in the meantime it is known that the package Industria (branch vicare-scheme) is affected by this problem.
The easy workaround is to run vicare with -O0; when configuring a package using the GNU Autotools (at least the ones packaged by me) we can do:
Using the head of the
devel
branch (at least up to commit 6b24b402cc97e2322e766d2ac674e57c0f6a671f) it sometimes happens that calling an R6RS record constructor fails because the constructor function binding references#<void>
rather than the function. In such cases the code fails with an error like:This happens when the executable is run with options
-O1
,-O2
,-O3
without debugging mode; it does not happen when using -O0 or turning on debugging mode. Notice that, by default, Vicare runs with-O2
.I am still working on finding a small example of code that reproduces this problem; in the meantime it is known that the package Industria (branch
vicare-scheme
) is affected by this problem.The easy workaround is to run
vicare
with-O0
; when configuring a package using the GNU Autotools (at least the ones packaged by me) we can do: