Juan Francisco Cantero Hurtado <i...@juanfra.info> writes: > On Saturday 28 June 2014 20:54:27 you wrote: > >> Juan Francisco Cantero Hurtado <i...@juanfra.info> writes: >> > On Sat, Jun 28, 2014 at 10:19:18AM +0300, Timo Myyrä wrote: >> >> Hi, >> >> >> >> Here's a patch to update chicken to latest stable version. >> >> Seems pretty basic update but noticed an warning about >> >> chicken-install during fake/install phase: >> >> >> >> Warning: cannot run `chicken-install -update-db' when >> >> cross-compiling or DESTDIR is set >> >> >> >> Should make files be patched to run the chicken-install anyway or >> >> just leave a note for the user to run it manually? >> > >> > 'chicken-install -update-db' writes to >> > /usr/local/lib/chicken/7/modules.db. If the user runs manually the >> > command, pkg_add won't delete the dir the next time that the user >> > updates the package. >> > >> > The version 4.8 doesn't have the file modules.db. Is it really >> > necessary or we can ignore the warning?. >> >> Well, the chicken-install will also install all extensions to >> /usr/local/lib/chicken/7 so the directory will need special care after >> update. >> >> Probably best option would be to just ignore the warning and assume >> that users know how to run the command if needed. > > OK. The port needs a README file with that info. Some people runs > machines with /usr mounted as read-only. > > With that change, I will commit the update :)
Okay, seems that the modules.db is used to get better warnings out chicken. At least I'm at that assumption after asking around in IRC and mailing list. I tried to see if I could patch the process to include modules.db in the build but that would have required adding BINARY_VERSION to Makefile. Cleaner option would be to just ask user to run the command manually. In any case, here's a patch to add pkg-readme for chicken. timo Index: Makefile.inc =================================================================== RCS file: /cvs/ports/lang/chicken/Makefile.inc,v retrieving revision 1.3 diff -u -u -p -r1.3 Makefile.inc --- Makefile.inc 10 Mar 2014 09:53:16 -0000 1.3 +++ Makefile.inc 3 Jul 2014 07:29:17 -0000 @@ -2,7 +2,7 @@ COMMENT= practical and portable Scheme system -V= 4.8.0.5 +V= 4.9.0.1 DISTNAME= chicken-${V} MAINTAINER= Timo Myyra <timo.my...@wickedbsd.net> Index: bootstrap/distinfo =================================================================== RCS file: /cvs/ports/lang/chicken/bootstrap/distinfo,v retrieving revision 1.1 diff -u -u -p -r1.1 distinfo --- bootstrap/distinfo 9 Mar 2014 20:17:01 -0000 1.1 +++ bootstrap/distinfo 3 Jul 2014 07:29:17 -0000 @@ -1,2 +1,2 @@ -SHA256 (chicken-4.8.0.5.tar.gz) = W5GSlRvGHMGd1JY8zrk5CL/0a2ho15J/GYUOiXPEMPs= -SIZE (chicken-4.8.0.5.tar.gz) = 3970370 +SHA256 (chicken-4.9.0.1.tar.gz) = BN98Q5w2/BZEa9+hhuenAlj5EdLYJrUhao5rHLKqKBU= +SIZE (chicken-4.9.0.1.tar.gz) = 4023371 Index: bootstrap/patches/patch-Makefile_bsd =================================================================== RCS file: /cvs/ports/lang/chicken/bootstrap/patches/patch-Makefile_bsd,v retrieving revision 1.1 diff -u -u -p -r1.1 patch-Makefile_bsd --- bootstrap/patches/patch-Makefile_bsd 9 Mar 2014 20:17:01 -0000 1.1 +++ bootstrap/patches/patch-Makefile_bsd 3 Jul 2014 07:29:17 -0000 @@ -1,19 +1,15 @@ -$OpenBSD: patch-Makefile_bsd,v 1.1 2014/03/09 20:17:01 jasper Exp $ +$OpenBSD$ -OpenBSD base has GCC 4.2.1. +GCC3 doesn't have -fwrapv. ---- Makefile.bsd.orig Tue Feb 25 11:35:18 2014 -+++ Makefile.bsd Tue Feb 25 11:35:45 2014 -@@ -37,12 +37,7 @@ ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh) - SYSTEM ?= $(shell uname -s) - # options +--- Makefile.bsd.orig Wed Jun 18 16:35:48 2014 ++++ Makefile.bsd Wed Jun 18 16:36:13 2014 +@@ -36,7 +36,7 @@ SRCDIR = ./ + ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh) --# OpenBSD base still uses GCC 3.3.5 which does not support -fwrapv --ifeq ($(SYSTEM), OpenBSD) - C_COMPILER_OPTIONS ?= -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H --else + # options -C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H --endif ++C_COMPILER_OPTIONS ?= -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H ifdef DEBUGBUILD C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused Index: core/Makefile =================================================================== RCS file: /cvs/ports/lang/chicken/core/Makefile,v retrieving revision 1.2 diff -u -u -p -r1.2 Makefile --- core/Makefile 22 May 2014 11:22:27 -0000 1.2 +++ core/Makefile 3 Jul 2014 07:29:17 -0000 @@ -1,10 +1,8 @@ # $OpenBSD: Makefile,v 1.2 2014/05/22 11:22:27 jasper Exp $ -REVISION= 0 - SHARED_ONLY= Yes -SHARED_LIBS= chicken 2.0 +SHARED_LIBS= chicken 3.0 TEST_TARGET= check TEST_DEPENDS= ${BUILD_PKGPATH} @@ -15,6 +13,6 @@ MAKE_FLAGS+= CHICKEN=${LOCALBASE}/libexe BUILD_DEPENDS= lang/chicken/bootstrap>=${V} pre-configure: - ${SUBST_CMD} ${WRKSRC}/{csc,eval}.scm + ${SUBST_CMD} ${WRKSRC}/{csc.scm,eval.scm,Makefile.bsd} .include <bsd.port.mk> Index: core/distinfo =================================================================== RCS file: /cvs/ports/lang/chicken/core/distinfo,v retrieving revision 1.1 diff -u -u -p -r1.1 distinfo --- core/distinfo 9 Mar 2014 20:17:01 -0000 1.1 +++ core/distinfo 3 Jul 2014 07:29:17 -0000 @@ -1,2 +1,2 @@ -SHA256 (chicken-4.8.0.5.tar.gz) = W5GSlRvGHMGd1JY8zrk5CL/0a2ho15J/GYUOiXPEMPs= -SIZE (chicken-4.8.0.5.tar.gz) = 3970370 +SHA256 (chicken-4.9.0.1.tar.gz) = BN98Q5w2/BZEa9+hhuenAlj5EdLYJrUhao5rHLKqKBU= +SIZE (chicken-4.9.0.1.tar.gz) = 4023371 Index: core/patches/patch-Makefile_bsd =================================================================== RCS file: /cvs/ports/lang/chicken/core/patches/patch-Makefile_bsd,v retrieving revision 1.1 diff -u -u -p -r1.1 patch-Makefile_bsd --- core/patches/patch-Makefile_bsd 9 Mar 2014 20:17:01 -0000 1.1 +++ core/patches/patch-Makefile_bsd 3 Jul 2014 07:29:17 -0000 @@ -1,8 +1,21 @@ -$OpenBSD: patch-Makefile_bsd,v 1.1 2014/03/09 20:17:01 jasper Exp $ ---- Makefile.bsd.orig Mon Sep 24 21:47:36 2012 -+++ Makefile.bsd Mon Sep 24 21:48:07 2012 -@@ -59,7 +59,6 @@ LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R"$(RUNTIME_ - LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so$(SONAME_VERSION) +$OpenBSD$ +--- Makefile.bsd.orig Wed Jun 18 16:52:58 2014 ++++ Makefile.bsd Wed Jun 18 16:53:35 2014 +@@ -36,7 +36,7 @@ SRCDIR = ./ + ARCH ?= $(shell sh $(SRCDIR)/config-arch.sh) + + # options +-C_COMPILER_OPTIONS ?= -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H ++C_COMPILER_OPTIONS ?= -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H + + ifdef DEBUGBUILD + C_COMPILER_OPTIMIZATION_OPTIONS ?= -g -Wall -Wno-unused +@@ -50,10 +50,9 @@ endif + LINKER_LINK_SHARED_LIBRARY_OPTIONS = -shared + LINKER_LINK_SHARED_DLOADABLE_OPTIONS = -shared -Wl,-R"$(RUNTIME_LINKER_PATH)" -Wl,-L. + LINKER_LINK_SHARED_PROGRAM_OPTIONS = -Wl,-R"$(RUNTIME_LINKER_PATH)" +-LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so.$(BINARYVERSION) ++LIBCHICKEN_SO_LINKER_OPTIONS = -Wl,-soname,lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX).so.$(LIBchicken_VERSION) LIBRARIES = -lm -lpthread NEEDS_RELINKING = yes -USES_SONAME = yes Index: core/patches/patch-csc_scm =================================================================== RCS file: /cvs/ports/lang/chicken/core/patches/patch-csc_scm,v retrieving revision 1.1 diff -u -u -p -r1.1 patch-csc_scm --- core/patches/patch-csc_scm 9 Mar 2014 20:17:01 -0000 1.1 +++ core/patches/patch-csc_scm 3 Jul 2014 07:29:17 -0000 @@ -1,13 +1,14 @@ -$OpenBSD: patch-csc_scm,v 1.1 2014/03/09 20:17:01 jasper Exp $ ---- csc.scm.orig Fri Oct 4 03:44:52 2013 -+++ csc.scm Tue Feb 25 11:32:56 2014 -@@ -969,8 +969,7 @@ EOF +$OpenBSD$ +--- csc.scm.orig Wed Jun 18 16:54:05 2014 ++++ csc.scm Wed Jun 18 16:55:06 2014 +@@ -980,9 +980,7 @@ EOF + libchicken (cond (osx "dylib") - ((or win cygwin) "dll") - (else (string-append + ((or mingw cygwin) "dll") +- (else (string-append - "so." - (number->string BINARY_VERSION))))))) -+ "so.${LIBchicken_VERSION}")))))) ++ (else "so.${LIBchicken_VERSION}"))))) (copy-files lib targetdir))) (define (copy-files from to) Index: core/patches/patch-defaults_make =================================================================== RCS file: /cvs/ports/lang/chicken/core/patches/patch-defaults_make,v retrieving revision 1.1 diff -u -u -p -r1.1 patch-defaults_make --- core/patches/patch-defaults_make 9 Mar 2014 20:17:01 -0000 1.1 +++ core/patches/patch-defaults_make 3 Jul 2014 07:29:17 -0000 @@ -1,6 +1,6 @@ -$OpenBSD: patch-defaults_make,v 1.1 2014/03/09 20:17:01 jasper Exp $ ---- defaults.make.orig Mon Sep 24 21:47:44 2012 -+++ defaults.make Mon Sep 24 21:49:45 2012 +$OpenBSD$ +--- defaults.make.orig Wed Jun 18 16:55:23 2014 ++++ defaults.make Wed Jun 18 16:57:01 2014 @@ -42,10 +42,10 @@ BINDIR = $(PREFIX)/bin LIBDIR = $(PREFIX)/lib SHAREDIR = $(PREFIX)/share @@ -13,7 +13,7 @@ $OpenBSD: patch-defaults_make,v 1.1 2014 +DOCDIR = $(SHAREDIR)/doc/chicken VARDIR ?= $(LIBDIR) CHICKENLIBDIR = $(VARDIR)/$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX) - EGGDIR = $(CHICKENLIBDIR)/$(BINARYVERSION) + EGGDIR ?= $(CHICKENLIBDIR)/$(BINARYVERSION) @@ -211,8 +211,8 @@ ifeq ($(PLATFORM),cygwin) PRIMARY_LIBCHICKEN = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll LIBCHICKEN_SO_FILE = cyg$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)-0.dll Index: core/patches/patch-eval_scm =================================================================== RCS file: /cvs/ports/lang/chicken/core/patches/patch-eval_scm,v retrieving revision 1.1 diff -u -u -p -r1.1 patch-eval_scm --- core/patches/patch-eval_scm 9 Mar 2014 20:17:01 -0000 1.1 +++ core/patches/patch-eval_scm 3 Jul 2014 07:29:17 -0000 @@ -1,13 +1,13 @@ -$OpenBSD: patch-eval_scm,v 1.1 2014/03/09 20:17:01 jasper Exp $ ---- eval.scm.orig Fri Oct 4 03:44:52 2013 -+++ eval.scm Tue Feb 25 11:32:56 2014 -@@ -1042,8 +1042,7 @@ - (not (zero? binary-version))) ; allow "configless" build +$OpenBSD$ +--- eval.scm.orig Wed Jun 18 16:57:19 2014 ++++ eval.scm Wed Jun 18 16:59:08 2014 +@@ -1070,8 +1070,7 @@ + (if uses-soname? (string-append ##sys#load-library-extension - "." - (number->string binary-version)) -+ ".${LIBchicken_VERSION}") ++ ".${LIBchicken_VERSION}") ##sys#load-library-extension))) (define complete (cut ##sys#string-append <> ext)) Index: core/patches/patch-rules_make =================================================================== RCS file: /cvs/ports/lang/chicken/core/patches/patch-rules_make,v retrieving revision 1.1 diff -u -u -p -r1.1 patch-rules_make --- core/patches/patch-rules_make 9 Mar 2014 20:17:01 -0000 1.1 +++ core/patches/patch-rules_make 3 Jul 2014 07:29:17 -0000 @@ -1,6 +1,7 @@ -$OpenBSD: patch-rules_make,v 1.1 2014/03/09 20:17:01 jasper Exp $ ---- rules.make.orig Mon Sep 24 21:47:56 2012 -+++ rules.make Mon Sep 24 21:50:40 2012 +$OpenBSD$ +disable DESTDIR check so chicken-install will run +--- rules.make.orig Sat Jun 7 15:24:41 2014 ++++ rules.make Tue Jul 1 09:24:42 2014 @@ -221,7 +221,7 @@ $(foreach obj, $(ALWAYS_STATIC_UTILITY_PROGRAM_OBJECTS libs: $(TARGETLIBS) @@ -10,21 +11,3 @@ $OpenBSD: patch-rules_make,v 1.1 2014/03 $(LINKER) $(LINKER_OPTIONS) $(LINKER_LINK_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_LINKER_OPTIONS) \ $(LINKER_OUTPUT) $^ $(LIBCHICKEN_SO_LIBRARIES) ifdef USES_SONAME -@@ -306,7 +306,7 @@ ifdef DLLSINPATH - $(MAKEDIR_COMMAND) $(MAKEDIR_COMMAND_OPTIONS) "$(DESTDIR)$(IBINDIR)" - $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(IBINDIR)" - else -- $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE)$(SONAME_VERSION)" -+ $(INSTALL_PROGRAM) $(INSTALL_PROGRAM_SHARED_LIBRARY_OPTIONS) $(LIBCHICKEN_SO_FILE) "$(DESTDIR)$(ILIBDIR)$(SEP)$(LIBCHICKEN_SO_FILE)" - endif - ifdef USES_SONAME - cd "$(DESTDIR)$(ILIBDIR)" && ln -sf $(LIBCHICKEN_SO_FILE).$(BINARYVERSION) lib$(PROGRAM_PREFIX)chicken$(PROGRAM_SUFFIX)$(SO) -@@ -348,7 +348,7 @@ install-bin: - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(IMPORT_LIBRARIES:%=%.so) - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(IMPORT_LIBRARIES:%=%.import.so) - $(REMOVE_COMMAND) $(REMOVE_COMMAND_OPTIONS) $(LIBCHICKEN_SO_FILE) -- $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) CONFIG=$(CONFIG) NEEDS_RELINKING=no RUNTIME_LINKER_PATH="$(LIBDIR)" SONAME_VERSION=.$(BINARYVERSION) install-bin -+ $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) CONFIG=$(CONFIG) NEEDS_RELINKING=no RUNTIME_LINKER_PATH="$(LIBDIR)" SONAME_VERSION=.$(LIBchicken_VERSION) install-bin - # Damn. What was this for, again? - # - # $(MAKE_WRITABLE_COMMAND) $(CHICKEN_PROGRAM)$(EXE) $(CSI_PROGRAM)$(EXE) $(CSC_PROGRAM)$(EXE) $(CHICKEN_PROFILE_PROGRAM)$(EXE) Index: core/patches/patch-runtime_c =================================================================== RCS file: core/patches/patch-runtime_c diff -N core/patches/patch-runtime_c --- core/patches/patch-runtime_c 9 Mar 2014 20:17:01 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,17 +0,0 @@ -$OpenBSD: patch-runtime_c,v 1.1 2014/03/09 20:17:01 jasper Exp $ ---- runtime.c.orig Fri Oct 4 01:32:18 2013 -+++ runtime.c Tue Feb 25 11:32:56 2014 -@@ -3482,9 +3482,10 @@ C_regparm void C_fcall update_locative_table(int mode) - - C_regparm WEAK_TABLE_ENTRY *C_fcall lookup_weak_table_entry(C_word item, C_word container) - { -- int key = (C_uword)item >> 2, -- disp = 0, -- n; -+ C_uword -+ key = (C_uword)item >> 2, -+ disp = 0, -+ n; - WEAK_TABLE_ENTRY *wep; - - for(n = 0; n < WEAK_HASH_ITERATIONS; ++n) { Index: core/patches/patch-srfi-4_scm =================================================================== RCS file: core/patches/patch-srfi-4_scm diff -N core/patches/patch-srfi-4_scm --- core/patches/patch-srfi-4_scm 22 May 2014 11:22:27 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,28 +0,0 @@ -$OpenBSD: patch-srfi-4_scm,v 1.1 2014/05/22 11:22:27 jasper Exp $ - -Security fix for CVE-2014-3776, -buffer overflow in "read-u8vector!" procedure leads to DoS or arbitrary code exec - -http://code.call-cc.org/cgi-bin/gitweb.cgi?p=chicken-core.git;a=commit;h=1d06ce7e21c7e903ca5dca11fda6fcf2cc52de5e - ---- srfi-4.scm.orig Fri Oct 4 03:44:52 2013 -+++ srfi-4.scm Thu May 22 08:48:19 2014 -@@ -653,12 +653,12 @@ EOF - (##sys#check-input-port port #t 'read-u8vector!) - (##sys#check-exact start 'read-u8vector!) - (##sys#check-structure dest 'u8vector 'read-u8vector!) -- (let ((dest (##sys#slot dest 1))) -- (when n -- (##sys#check-exact n 'read-u8vector!) -- (when (fx> (fx+ start n) (##sys#size dest)) -- (set! n (fx- (##sys#size dest) start)))) -- (##sys#read-string! n dest port start) ) ) -+ (when n (##sys#check-exact n 'read-u8vector!)) -+ (let* ((dest (##sys#slot dest 1)) -+ (size (##sys#size dest))) -+ (unless (and n (fx<= (fx+ start n) size)) -+ (set! n (fx- size start))) -+ (##sys#read-string! n dest port start))) - - (define read-u8vector - (let () Index: core/pkg/PLIST =================================================================== RCS file: /cvs/ports/lang/chicken/core/pkg/PLIST,v retrieving revision 1.1 diff -u -u -p -r1.1 PLIST --- core/pkg/PLIST 9 Mar 2014 20:17:01 -0000 1.1 +++ core/pkg/PLIST 3 Jul 2014 07:29:17 -0000 @@ -1,4 +1,4 @@ -@comment $OpenBSD: PLIST,v 1.1 2014/03/09 20:17:01 jasper Exp $ +@comment $OpenBSD$ @bin bin/chicken @bin bin/chicken-bug @bin bin/chicken-install @@ -11,30 +11,30 @@ include/chicken/ include/chicken/chicken-config.h include/chicken/chicken.h lib/chicken/ -lib/chicken/6/ -lib/chicken/6/chicken.import.so -lib/chicken/6/csi.import.so -lib/chicken/6/data-structures.import.so -lib/chicken/6/extras.import.so -lib/chicken/6/files.import.so -lib/chicken/6/foreign.import.so -lib/chicken/6/irregex.import.so -lib/chicken/6/lolevel.import.so -lib/chicken/6/ports.import.so -lib/chicken/6/posix.import.so -lib/chicken/6/setup-api.import.so -lib/chicken/6/setup-api.so -lib/chicken/6/setup-download.import.so -lib/chicken/6/setup-download.so -lib/chicken/6/srfi-1.import.so -lib/chicken/6/srfi-13.import.so -lib/chicken/6/srfi-14.import.so -lib/chicken/6/srfi-18.import.so -lib/chicken/6/srfi-4.import.so -lib/chicken/6/srfi-69.import.so -lib/chicken/6/tcp.import.so -lib/chicken/6/types.db -lib/chicken/6/utils.import.so +lib/chicken/7/ +lib/chicken/7/chicken.import.so +lib/chicken/7/csi.import.so +lib/chicken/7/data-structures.import.so +lib/chicken/7/extras.import.so +lib/chicken/7/files.import.so +lib/chicken/7/foreign.import.so +lib/chicken/7/irregex.import.so +lib/chicken/7/lolevel.import.so +lib/chicken/7/ports.import.so +lib/chicken/7/posix.import.so +lib/chicken/7/setup-api.import.so +lib/chicken/7/setup-api.so +lib/chicken/7/setup-download.import.so +lib/chicken/7/setup-download.so +lib/chicken/7/srfi-1.import.so +lib/chicken/7/srfi-13.import.so +lib/chicken/7/srfi-14.import.so +lib/chicken/7/srfi-18.import.so +lib/chicken/7/srfi-4.import.so +lib/chicken/7/srfi-69.import.so +lib/chicken/7/tcp.import.so +lib/chicken/7/types.db +lib/chicken/7/utils.import.so lib/libchicken.a @lib lib/libchicken.so.${LIBchicken_VERSION} @man man/man1/chicken-bug.1 @@ -105,3 +105,4 @@ share/doc/chicken/manual/chicken.png share/doc/chicken/manual/faq.html share/doc/chicken/manual/index.html share/doc/chicken/manual/manual.css +share/doc/pkg-readmes/${FULLPKGNAME} Index: core/pkg/README =================================================================== RCS file: core/pkg/README diff -N core/pkg/README --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ core/pkg/README 3 Jul 2014 07:29:17 -0000 @@ -0,0 +1,12 @@ ++----------------------------------------------------------------------- +| Running ${FULLPKGNAME} on OpenBSD ++----------------------------------------------------------------------- + +Chicken Scheme will use better warnings when it has access to module database. +You can generate the database by running `chicken-install -update-db'. + +There are also a lot of extensions called 'eggs' available for your use. +You can list and install eggs using the 'chicken-install' command. + +See more information at +http://wiki.call-cc.org/