Yes, I know guile 2.0 is old. However, in a packaging system there are programs that still need 2.2, some that need 2.0, and then there is lilypond, documented to need 1.8. So in pkgsrc we are trying to cope with 4 versions. For slib, today we have two versions, for 2.0 and 2.2 (just because 3.0 is newly arrived in pkgsrc after resolving problems with pax and JIT). For the guile 2.0 slib package, it mostly works, and builds slibcat at package time in a chroot and then the package installs that fine. If I start guile and (use-modules (ice-9 slib)), it compiles two files and produces: $ ls -l .cache/guile/ccache/2.0-LE-8-2.0/usr/pkg/share/slib/ total 52 -rw-r--r-- 1 gdt users 30382 Mar 10 20:40 guile.init.go -rw-r--r-- 1 gdt users 16900 Mar 10 20:40 require.scm.go which all looks fine. I can start guile and do it again. But then, if I try to build the slib package, I get a failure, below. If I remove these two cached files, the program runs. The error is a complaint abotu module-export-all! being unbound. Again, I know guile 2.0 is unsupported and probably nobody cares, but I thought it would be useful to point this out and perhaps someone has a clue. In the meantime I'll try to wave my magic wand again and get all the upstreams of guile-using packages that don't work with 3.0 to have a new stable, formal release that works with 3.0 :-) Thanks, Greg (a guile user since probably the 90s) => Creating installation directories /bin/rm -f /tmp/work/devel/guile-slib/work/.destdir/usr/pkg/guile/2.0/share/guile/site/2.0/slib /bin/ln -sf /usr/pkg/share/slib /tmp/work/devel/guile-slib/work/.destdir/usr/pkg/guile/2.0/share/guile/site/2.0/slib /bin/rm -f /tmp/work/devel/guile-slib/work/.destdir/usr/pkg/guile/2.0/share/guile/site/2.0/slibcat cd /tmp/work/devel/guile-slib/work/.destdir/usr/pkg/guile/2.0/share/guile/site/2.0/slib && GUILE_LOAD_PATH=/usr/pkg/share GUILE_IMPLEMENTATION_PATH=/tmp/work/devel/guile-slib/work/.destdir/usr/pkg/guile/2.0/share/guile/site/2.0 /usr/pkg/guile/2.0/bin/guile -q -c "(begin (use-modules (ice-9 slib)) (require 'new-catalog))" Backtrace: In ice-9/command-line.scm: 181: 19 [# #] In unknown file: ?: 18 [eval (begin # #) #] In ice-9/eval.scm: 505: 17 [# (begin # #)] In ice-9/psyntax.scm: 1107: 16 [expand-top-sequence ((begin (use-modules #) (require #))) () ...] 990: 15 [scan ((begin (use-modules #) (require #))) () ...] 990: 14 [scan ((use-modules (ice-9 slib)) (require (quote new-catalog))) () ...] 279: 13 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...] In ice-9/boot-9.scm: 3622: 12 [process-use-modules (((ice-9 slib)))] 712: 11 [map # ((#))] 3623: 10 [# (#)] 2900: 9 [resolve-interface (ice-9 slib) #:select ...] 2825: 8 [# # ...] 3101: 7 [try-module-autoload (ice-9 slib) #f] 2412: 6 [save-module-excursion #] 3121: 5 [#] In unknown file: ?: 4 [primitive-load-path "ice-9/slib" ...] In ice-9/boot-9.scm: 1734: 3 [%start-stack load-stack ...] 1739: 2 [#] In unknown file: ?: 1 [primitive-load-path "slib/guile.init"] In /usr/pkg/guile/2.0/share/guile/site/2.0/slib/guile-2.init: 174: 0 [#] /usr/pkg/guile/2.0/share/guile/site/2.0/slib/guile-2.init:174:0: In procedure #: /usr/pkg/guile/2.0/share/guile/site/2.0/slib/guile-2.init:174:0: In procedure module-lookup: Unbound variable: module-export-all! *** Error code 1