The beginning of my version of guile-3.init is: (define-module (ice-9 slib) #:declarative? #f #:use-module ((ice-9 popen) #:select (open-input-pipe close-pipe)) #:use-module ((ice-9 rdelim) #:select (read-line read-line! write-line)) #:re-export (read-line read-line! write-line) It makes no difference. --no-auto-compile is still needed.
On Thu, Sep 3, 2026 at 4:52 PM Dr. Arne Babenhauserheide <[email protected]> wrote: > Aubrey Jaffer <[email protected]> writes: > > > > Aubrey Jaffer via "Bug reports for GUILE, GNU's Ubiquitous Extension > Language" <[email protected]> writes: > > > > > > > Including the --no-auto-compile flag in the command line fixes the > problem! Guile completes the Jacal test > > > suite > > > > in 37 seconds. > > > > > > Could you try whether --fresh-auto-compile also works? > > > > No, --fresh-auto-compile fails in the same way as guile with no option. > > The problem would seem to be that the compiler ignores macros in effect > at the time the file is loaded. > > That --fresh-auto-compile fails indicates that something in the slib > setup doesn’t work correctly: the warnings indicate that require doesn’t > provide the symbols. > > This might mean that the issues discussed in > https://lists.gnu.org/archive/html/guile-devel/2026-08/msg00003.html > (requiring guile-3.init) need fixing: > > > Use of `load' in declarative module (ice-9 slib). Add > > #:declarative? #f to your define-module invocation. > > This indicates that changes to the module may not be kept (declarative > means: can’t change top-level bindings), so require may not provide the > symbols you require. > > This is especially relevant to test suites, because auto-compiled code > is faster in guile than non-compiled code. > > > I tried to reproduce, have not used slib before, and I ran into much > earlier problems. Where I got on Guix: > > $ guix shell slib guile > [env]$ guile --fresh-auto-compile -l > $GUIX_ENVIRONMENT/lib/slib/guile-2.init > ;;; compiling > /gnu/store/rmj2pbawjdmjc4k7alfzvpd7r4c52ppw-profile/lib/slib/guile-2.init > WARNING: Use of `load' in declarative module (ice-9 slib). Add > #:declarative? #f to your define-module invocation. > > scheme@(guile-user)> (import (ice-9 slib)) > > scheme@(guile-user)> (load "/tmp/fluid-bug.scm") ;; your file > ;;; compiling /tmp/fluid-bug.scm > ;;; /tmp/fluid-bug.scm:3:8: warning: possibly unbound variable `fluid-let' > ;;; compiled > /home/arne/eigenes/Programme/guile/cache/guile/ccache/3.0-LE-8-4.7/tmp/fluid-bug.scm.go > ;;; compiling > /gnu/store/hzm53i8192y6dgiqh7sf9s1zx8bpk63b-slib-3c1/lib/slib/mklibcat.scm > ;;; compiled > /home/arne/eigenes/Programme/guile/cache/guile/ccache/3.0-LE-8-4.7/gnu/store/hzm53i8192y6dgiqh7sf9s1zx8bpk63b-slib-3c1/lib/slib/mklibcat.scm.go > ice-9/boot-9.scm:1677:22: In procedure raise-exception: > In procedure open-file: Datei oder Verzeichnis nicht gefunden: > "/usr/local/share/guile/site/3.0/slibcat" > > > Best wishes, > Arne > > > -- > Unpolitisch sein > heißt politisch sein, > ohne es zu merken. > https://www.draketo.de >
