Write the catalog in under `(library-vicinity)', which is a subdir of $out,
rather than under `(implementation-vicinity)', which is a subdir of ${scheme}.

The downside is that we can't build an SLIB for several Schemes at the
same time.

--- slib/mklibcat.scm	2007-12-24 05:47:34.000000000 +0100
+++ slib/mklibcat.scm	2009-09-29 14:08:28.000000000 +0200
@@ -17,7 +17,7 @@
 ;promotional, or sales literature without prior written consent in
 ;each case.
 
-(let ((catpath (in-vicinity (implementation-vicinity) "slibcat")))
+(let ((catpath (in-vicinity (library-vicinity) "slibcat")))
   (and (file-exists? catpath) (delete-file catpath))
   (call-with-output-file catpath
     (lambda (op)

--- slib/require.scm	2009-08-03 04:09:47.000000000 +0200
+++ slib/require.scm	2009-09-29 14:13:56.000000000 +0200
@@ -74,7 +74,7 @@
 
 (define (catalog:get feature)
   (if (not *catalog*)
-      (let ((slibcat (catalog:try-read (implementation-vicinity) "slibcat")))
+      (let ((slibcat (catalog:try-read (library-vicinity) "slibcat")))
 	(cond ((not (catalog/require-version-match? slibcat))
 	       (slib:load-source (in-vicinity (library-vicinity) "mklibcat"))
 	       (set! slibcat
