Fedora Account System
Red Hat Associate
Red Hat Customer
Description of problem: I'm the gcl maintainer. I looked at your common-lisp-controller registration script to see what I need to do for gcl. I see two problems with the current script. First, on my x86_64 system, it is placed in /usr/lib64/common-lisp/bin/sbcl.sh. However, the common-lisp-controller registration script only looks in /usr/lib/common-lisp/bin for the registration scripts, whether the system is 32- or 64-bit. (This might be considered a bug in common-lisp-controller, since this makes it impossible to register 32- and 64-bit variants of the same CL engine.) Second, /usr/lib64/common-lisp/bin/sbcl.sh looks for the core file in /usr/lib/sbcl/sbcl-dist.core, but it is in /usr/lib64/sbcl/sbcl-dist.core on my system. Version-Release number of selected component (if applicable): sbcl-1.0.26-1.fc11.x86_64 How reproducible: Always Steps to Reproduce: 1. /usr/sbin/register-common-lisp-implementation sbcl Actual results: "I cannot find the implementation script for sbcl at /usr/lib/common-lisp/bin/sbcl.sh" Expected results: Successful registration. Additional info:
green worked on those bits, I'll leave it to him to comment (and fix hopefully). :)
Thanks - I'll look into this.
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle. Changing version to '11'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
My x86_64 sbcl uses lib, not lib64. Was this changed for f12? [root@gmachine ~]# rpm -ql sbcl-1.0.30-2.fc12.x86_64 | grep lib /usr/lib/common-lisp/bin/sbcl.sh /usr/lib/sbcl /usr/lib/sbcl/asdf /usr/lib/sbcl/asdf-install /usr/lib/sbcl/asdf-install/Makefile /usr/lib/sbcl/asdf-install/README /usr/lib/sbcl/asdf-install/asdf-install.asd /usr/lib/sbcl/asdf-install/asdf-install.fasl /usr/lib/sbcl/asdf-install/defpackage.fasl /usr/lib/sbcl/asdf-install/defpackage.lisp /usr/lib/sbcl/asdf-install/installer.fasl /usr/lib/sbcl/asdf-install/installer.lisp /usr/lib/sbcl/asdf/asdf.fasl /usr/lib/sbcl/install-clc.lisp /usr/lib/sbcl/sb-aclrepl /usr/lib/sbcl/sb-aclrepl/Makefile /usr/lib/sbcl/sb-aclrepl/README /usr/lib/sbcl/sb-aclrepl/debug.fasl /usr/lib/sbcl/sb-aclrepl/debug.lisp /usr/lib/sbcl/sb-aclrepl/inspect.fasl /usr/lib/sbcl/sb-aclrepl/inspect.lisp /usr/lib/sbcl/sb-aclrepl/repl.fasl /usr/lib/sbcl/sb-aclrepl/repl.lisp /usr/lib/sbcl/sb-aclrepl/sb-aclrepl.asd /usr/lib/sbcl/sb-aclrepl/sb-aclrepl.fasl /usr/lib/sbcl/sb-aclrepl/sb-aclrepl.texinfo /usr/lib/sbcl/sb-aclrepl/tests.fasl /usr/lib/sbcl/sb-aclrepl/tests.lisp /usr/lib/sbcl/sb-aclrepl/toplevel.fasl /usr/lib/sbcl/sb-aclrepl/toplevel.lisp /usr/lib/sbcl/sb-bsd-sockets /usr/lib/sbcl/sb-bsd-sockets/FAQ /usr/lib/sbcl/sb-bsd-sockets/Makefile /usr/lib/sbcl/sb-bsd-sockets/NEWS /usr/lib/sbcl/sb-bsd-sockets/TODO /usr/lib/sbcl/sb-bsd-sockets/a.out /usr/lib/sbcl/sb-bsd-sockets/constants.fasl /usr/lib/sbcl/sb-bsd-sockets/constants.lisp /usr/lib/sbcl/sb-bsd-sockets/constants.lisp-temp /usr/lib/sbcl/sb-bsd-sockets/defpackage.fasl /usr/lib/sbcl/sb-bsd-sockets/defpackage.lisp /usr/lib/sbcl/sb-bsd-sockets/foo.c /usr/lib/sbcl/sb-bsd-sockets/inet.fasl /usr/lib/sbcl/sb-bsd-sockets/inet.lisp /usr/lib/sbcl/sb-bsd-sockets/local.fasl /usr/lib/sbcl/sb-bsd-sockets/local.lisp /usr/lib/sbcl/sb-bsd-sockets/misc.fasl /usr/lib/sbcl/sb-bsd-sockets/misc.lisp /usr/lib/sbcl/sb-bsd-sockets/name-service.fasl /usr/lib/sbcl/sb-bsd-sockets/name-service.lisp /usr/lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.asd /usr/lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.fasl /usr/lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.texinfo /usr/lib/sbcl/sb-bsd-sockets/sockets.fasl /usr/lib/sbcl/sb-bsd-sockets/sockets.lisp /usr/lib/sbcl/sb-bsd-sockets/sockopt.fasl /usr/lib/sbcl/sb-bsd-sockets/sockopt.lisp /usr/lib/sbcl/sb-bsd-sockets/split.fasl /usr/lib/sbcl/sb-bsd-sockets/split.lisp /usr/lib/sbcl/sb-bsd-sockets/tests.fasl /usr/lib/sbcl/sb-bsd-sockets/tests.lisp /usr/lib/sbcl/sb-bsd-sockets/win32-constants.lisp /usr/lib/sbcl/sb-bsd-sockets/win32-lib.lisp /usr/lib/sbcl/sb-bsd-sockets/win32-sockets.lisp /usr/lib/sbcl/sb-cltl2 /usr/lib/sbcl/sb-cltl2/Makefile /usr/lib/sbcl/sb-cltl2/compiler-let.fasl /usr/lib/sbcl/sb-cltl2/compiler-let.lisp /usr/lib/sbcl/sb-cltl2/defpackage.fasl /usr/lib/sbcl/sb-cltl2/defpackage.lisp /usr/lib/sbcl/sb-cltl2/env.fasl /usr/lib/sbcl/sb-cltl2/env.lisp /usr/lib/sbcl/sb-cltl2/macroexpand.fasl /usr/lib/sbcl/sb-cltl2/macroexpand.lisp /usr/lib/sbcl/sb-cltl2/sb-cltl2.asd /usr/lib/sbcl/sb-cltl2/sb-cltl2.fasl /usr/lib/sbcl/sb-cltl2/tests.fasl /usr/lib/sbcl/sb-cltl2/tests.lisp /usr/lib/sbcl/sb-cover /usr/lib/sbcl/sb-cover/Makefile /usr/lib/sbcl/sb-cover/cover.fasl /usr/lib/sbcl/sb-cover/cover.lisp /usr/lib/sbcl/sb-cover/sb-cover.asd /usr/lib/sbcl/sb-cover/sb-cover.fasl /usr/lib/sbcl/sb-cover/sb-cover.texinfo /usr/lib/sbcl/sb-cover/test-data-1.fasl /usr/lib/sbcl/sb-cover/test-data-1.lisp /usr/lib/sbcl/sb-cover/test-data-2.fasl /usr/lib/sbcl/sb-cover/test-data-2.lisp /usr/lib/sbcl/sb-cover/test-data-3.fasl /usr/lib/sbcl/sb-cover/test-data-3.lisp /usr/lib/sbcl/sb-cover/test-output /usr/lib/sbcl/sb-cover/tests.fasl /usr/lib/sbcl/sb-cover/tests.lisp /usr/lib/sbcl/sb-executable /usr/lib/sbcl/sb-executable/sb-executable.fasl /usr/lib/sbcl/sb-grovel /usr/lib/sbcl/sb-grovel/Makefile /usr/lib/sbcl/sb-grovel/def-to-lisp.fasl /usr/lib/sbcl/sb-grovel/def-to-lisp.lisp /usr/lib/sbcl/sb-grovel/defpackage.fasl /usr/lib/sbcl/sb-grovel/defpackage.lisp /usr/lib/sbcl/sb-grovel/example-constants.lisp /usr/lib/sbcl/sb-grovel/foreign-glue.fasl /usr/lib/sbcl/sb-grovel/foreign-glue.lisp /usr/lib/sbcl/sb-grovel/sb-grovel.asd /usr/lib/sbcl/sb-grovel/sb-grovel.fasl /usr/lib/sbcl/sb-grovel/sb-grovel.texinfo /usr/lib/sbcl/sb-introspect /usr/lib/sbcl/sb-introspect/sb-introspect.fasl /usr/lib/sbcl/sb-md5 /usr/lib/sbcl/sb-md5/Makefile /usr/lib/sbcl/sb-md5/README /usr/lib/sbcl/sb-md5/md5-tests.fasl /usr/lib/sbcl/sb-md5/md5-tests.lisp /usr/lib/sbcl/sb-md5/md5.fasl /usr/lib/sbcl/sb-md5/md5.lisp /usr/lib/sbcl/sb-md5/sb-md5.asd /usr/lib/sbcl/sb-md5/sb-md5.fasl /usr/lib/sbcl/sb-md5/sb-md5.texinfo /usr/lib/sbcl/sb-posix /usr/lib/sbcl/sb-posix/Makefile /usr/lib/sbcl/sb-posix/README /usr/lib/sbcl/sb-posix/TODO /usr/lib/sbcl/sb-posix/a.out /usr/lib/sbcl/sb-posix/constants.fasl /usr/lib/sbcl/sb-posix/constants.lisp /usr/lib/sbcl/sb-posix/constants.lisp-temp /usr/lib/sbcl/sb-posix/defpackage.fasl /usr/lib/sbcl/sb-posix/defpackage.lisp /usr/lib/sbcl/sb-posix/designator.fasl /usr/lib/sbcl/sb-posix/designator.lisp /usr/lib/sbcl/sb-posix/foo.c /usr/lib/sbcl/sb-posix/interface.fasl /usr/lib/sbcl/sb-posix/interface.lisp /usr/lib/sbcl/sb-posix/macros.fasl /usr/lib/sbcl/sb-posix/macros.lisp /usr/lib/sbcl/sb-posix/posix-tests.fasl /usr/lib/sbcl/sb-posix/posix-tests.lisp /usr/lib/sbcl/sb-posix/sb-posix.asd /usr/lib/sbcl/sb-posix/sb-posix.fasl /usr/lib/sbcl/sb-posix/sb-posix.texinfo /usr/lib/sbcl/sb-posix/test-lab /usr/lib/sbcl/sb-queue /usr/lib/sbcl/sb-queue/sb-queue.fasl /usr/lib/sbcl/sb-rotate-byte /usr/lib/sbcl/sb-rotate-byte/Makefile /usr/lib/sbcl/sb-rotate-byte/README /usr/lib/sbcl/sb-rotate-byte/compiler.fasl /usr/lib/sbcl/sb-rotate-byte/compiler.lisp /usr/lib/sbcl/sb-rotate-byte/package.fasl /usr/lib/sbcl/sb-rotate-byte/package.lisp /usr/lib/sbcl/sb-rotate-byte/ppc-vm.lisp /usr/lib/sbcl/sb-rotate-byte/rotate-byte-tests.fasl /usr/lib/sbcl/sb-rotate-byte/rotate-byte-tests.lisp /usr/lib/sbcl/sb-rotate-byte/rotate-byte.fasl /usr/lib/sbcl/sb-rotate-byte/rotate-byte.lisp /usr/lib/sbcl/sb-rotate-byte/sb-rotate-byte.asd /usr/lib/sbcl/sb-rotate-byte/sb-rotate-byte.fasl /usr/lib/sbcl/sb-rotate-byte/sb-rotate-byte.texinfo /usr/lib/sbcl/sb-rotate-byte/x86-vm.lisp /usr/lib/sbcl/sb-rt /usr/lib/sbcl/sb-rt/Makefile /usr/lib/sbcl/sb-rt/rt.fasl /usr/lib/sbcl/sb-rt/rt.lisp /usr/lib/sbcl/sb-rt/sb-rt.asd /usr/lib/sbcl/sb-rt/sb-rt.fasl /usr/lib/sbcl/sb-simple-streams /usr/lib/sbcl/sb-simple-streams/Makefile /usr/lib/sbcl/sb-simple-streams/README /usr/lib/sbcl/sb-simple-streams/TODO /usr/lib/sbcl/sb-simple-streams/classes.fasl /usr/lib/sbcl/sb-simple-streams/classes.lisp /usr/lib/sbcl/sb-simple-streams/direct.fasl /usr/lib/sbcl/sb-simple-streams/direct.lisp /usr/lib/sbcl/sb-simple-streams/file.fasl /usr/lib/sbcl/sb-simple-streams/file.lisp /usr/lib/sbcl/sb-simple-streams/fndb.fasl /usr/lib/sbcl/sb-simple-streams/fndb.lisp /usr/lib/sbcl/sb-simple-streams/impl.fasl /usr/lib/sbcl/sb-simple-streams/impl.lisp /usr/lib/sbcl/sb-simple-streams/internal.fasl /usr/lib/sbcl/sb-simple-streams/internal.lisp /usr/lib/sbcl/sb-simple-streams/iodefs.fasl /usr/lib/sbcl/sb-simple-streams/iodefs.lisp /usr/lib/sbcl/sb-simple-streams/null.fasl /usr/lib/sbcl/sb-simple-streams/null.lisp /usr/lib/sbcl/sb-simple-streams/package.fasl /usr/lib/sbcl/sb-simple-streams/package.lisp /usr/lib/sbcl/sb-simple-streams/sb-simple-streams.asd /usr/lib/sbcl/sb-simple-streams/sb-simple-streams.fasl /usr/lib/sbcl/sb-simple-streams/sb-simple-streams.texinfo /usr/lib/sbcl/sb-simple-streams/simple-stream-tests.fasl /usr/lib/sbcl/sb-simple-streams/simple-stream-tests.lisp /usr/lib/sbcl/sb-simple-streams/socket.fasl /usr/lib/sbcl/sb-simple-streams/socket.lisp /usr/lib/sbcl/sb-simple-streams/strategy.fasl /usr/lib/sbcl/sb-simple-streams/strategy.lisp /usr/lib/sbcl/sb-simple-streams/string.fasl /usr/lib/sbcl/sb-simple-streams/string.lisp /usr/lib/sbcl/sb-simple-streams/terminal.fasl /usr/lib/sbcl/sb-simple-streams/terminal.lisp /usr/lib/sbcl/sb-simple-streams/test-data.tmp /usr/lib/sbcl/sb-sprof /usr/lib/sbcl/sb-sprof/sb-sprof.fasl /usr/lib/sbcl/sbcl-dist.core /usr/lib/sbcl/sbcl.core /usr/lib/sbcl/site-systems
Yes, sbcl was changed recently, * Tue Aug 18 2009 Rex Dieter <rdieter> - 1.0.30-2 - customize version.lisp-expr for rpm %%release - s|%%_libdir|%%_prefix/lib|, so common-lisp-controller has at least a chance to work (I forgot about commenting here about it, sorry).
But I see this isn't applicable to f11, $ koji latest-pkg dist-f11-updates sbcl Build Tag Built by ---------------------------------------- -------------------- ---------------- sbcl-1.0.30-1.fc11 dist-f11-updates rdieter
Something is still wrong, though. On a fully updated x86_64 F-12, I tried to package up some Common Lisp libraries, using the template on the wiki. It didn't work. SBCL cannot find the packaged libraries using either REQUIRE or ASDF. Maybe this has something to do with it: # /usr/sbin/register-common-lisp-implementation sbcl /usr/lib/common-lisp/bin/sbcl.sh loading and dumping clc. ;;; Hey: there is no /etc/lisp-config.lisp file, please create one. ; loading system definition from /usr/lib/sbcl/sb-grovel/sb-grovel.asd into ; #<PACKAGE "ASDF1"> ; registering #<SYSTEM SB-GROVEL {1003286BC1}> as SB-GROVEL ; ; compilation unit aborted ; caught 1 fatal ERROR condition ; compilation aborted because of fatal error: ; READ failure in COMPILE-FILE: ; SB-INT:SIMPLE-READER-PACKAGE-ERROR at 2095 (line 64, column 28) on #<SB-SYS:FD-STREAM for "file /usr/share/common-lisp/source/common-lisp-controller/post-sysdef-install.lisp" {1002FCBC71}>: ; Symbol "UNIX-FILE-KIND" not found in the SB-UNIX package. Error running init-common-lisp-controller-v4: The value NIL is not of type (OR (VECTOR CHARACTER) (VECTOR NIL) BASE-STRING PATHNAME STREAM). mv: cannot stat `sbcl-new.core': No such file or directory FAILED It appears that "sb-unix:unix-file-kind" should be replaced with "sb-impl::native-file-kind". Also, who or what should create /etc/lisp-config.lisp and what should be in it?
Would you please add the following patch to F-12 CVS as common-lisp-controller-sbcl.patch: --- post-sysdef-install.lisp.ORIG 2008-06-13 01:59:34.000000000 -0600 +++ post-sysdef-install.lisp 2010-01-13 14:17:48.364915054 -0700 @@ -61,7 +61,7 @@ #+sbcl (defun get-owner-and-mode (directory) (when (eq :directory - (sb-unix:unix-file-kind (namestring directory))) + (sb-impl::native-file-kind (namestring directory))) ;; check who owns it (multiple-value-bind (res dev ino mode nlink uid gid rdev size atime mtime) (sb-unix:unix-stat (namestring directory)) And patch the spec file thusly: --- common-lisp-controller.spec.ORIG 2009-07-24 13:16:13.000000000 -0600 +++ common-lisp-controller.spec 2010-01-13 14:29:56.287040288 -0700 @@ -1,11 +1,12 @@ Summary: Common Lisp source and compiler manager Name: common-lisp-controller Version: 6.15 -Release: 8%{?dist} +Release: 9%{?dist} URL: https://alioth.debian.org/projects/clc Source0: http://ftp.de.debian.org/debian/pool/main/c/common-lisp-controller/common-lisp-controller_%{version}.tar.gz Patch0: common-lisp-controller-fedora.patch Patch1: common-lisp-controller-special-chars.patch +Patch2: common-lisp-controller-sbcl.patch License: LLGPL Group: Development/Libraries BuildArch: noarch @@ -22,6 +23,7 @@ %setup -q %patch0 -p0 %patch1 -p0 +%patch2 -p0 %build # Do nothing. @@ -59,6 +61,8 @@ install -m 644 $f $RPM_BUILD_ROOT%{_datadir}/common-lisp/source/common-lisp-controller; done; +install -m 644 lisp-config.lisp $RPM_BUILD_ROOT%{_sysconfdir} + gzip man/* install -m 644 man/register-common-lisp-implementation.8.gz $RPM_BUILD_ROOT/%{_mandir}/man8 install -m 644 man/clc-register-user-package.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1 @@ -82,6 +86,7 @@ %dir %{_libdir}/common-lisp %dir %{_libdir}/common-lisp/bin %dir %{_localstatedir}/cache/common-lisp-controller +%config(noreplace) %{_sysconfdir}/lisp-config.lisp %{_datadir}/common-lisp %{_bindir}/clc-* %{_sbindir}/clc-* @@ -92,6 +97,9 @@ %{_mandir}/man8/* %changelog +* Wed Jan 13 2010 Jerry James <loganjerry> - 6.15-9 +- Add patch to get file kind correctly on SBCL. + * Fri Jul 24 2009 Fedora Release Engineering <rel-eng.org> - 6.15-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild And then rebuild for F-12, please? That will at least make it work with SBCL on F-12. Although we'll have to get a spurious SBCL update pushed out, just to make it run register-common-lisp-implementation again.
Fwiw, could potentially avoid a sbcl update, and use rpm %%triggers here to get common-lisp-controller to do the work itself.
(In reply to comment #9) > Fwiw, could potentially avoid a sbcl update, and use rpm %%triggers here to get > common-lisp-controller to do the work itself. Rex - can you explain how to do this? BTW - the patch I'm testing looks like this: --- post-sysdef-install.lisp.orig 2008-06-13 03:59:34.000000000 -0400 +++ post-sysdef-install.lisp 2010-01-15 15:41:28.576778435 -0500 @@ -61,7 +61,9 @@ #+sbcl (defun get-owner-and-mode (directory) (when (eq :directory - (sb-unix:unix-file-kind (namestring directory))) + (#.(or (find-symbol "NATIVE-FILE-KIND" :sb-impl) + (find-symbol "UNIX-FILE-KIND" :sb-unix)) + (namestring directory))) ;; check who owns it (multiple-value-bind (res dev ino mode nlink uid gid rdev size atime mtime) (sb-unix:unix-stat (namestring directory))
It would look something like this (next to the other scriptlets): %triggerin -- sbcl /usr/sbin/register-common-lisp-implementation sbcl > /dev/null 2>&1 ||: but, the more I think about it, the less I like this approach (as you can imagine, indirect scriptlets like this can get ugly to debug when there are problems).
Fwiw, register-common-lisp implementation takes 2-3 seconds. That's probably a lot faster than installing a new sbcl, so I'd say the trigger may not be a bad idea. ie, if something changes in common-lisp-controller to warrant a register-refresh (like here). Unless there's some other way to query (at install-time in a %post scriptlet here), what sbcl implementations are installed, and run register-common-lisp appropriately?
not much movement here (hopefully folks weren't waiting on me to do something). well, good news if you were, I'll be rev'ing to sbcl-1.0.35 for f11/f12 here in a bit. :)
Jerry, in the meantime, would you be interested in get access to make mods yourself? I think that would be one good way forward too.
*** Bug 520337 has been marked as a duplicate of this bug. ***
common-lisp-controller-6.20-2.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/common-lisp-controller-6.20-2.fc13
common-lisp-controller-6.15-9.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/common-lisp-controller-6.15-9.fc12
(In reply to comment #14) > Jerry, in the meantime, would you be interested in get access to make mods > yourself? I think that would be one good way forward too. Hmm. I don't know that I understand it well enough to make mods without breaking stuff. If it's all the same to you, I'm happy to keep the role of kibbitzer and let you do the actual work. :-)
common-lisp-controller-6.15-9.fc11,maxima-5.20.1-3.fc11,pvs-sbcl-4.2-3.20100126svn.fc11,sbcl-1.0.35-1.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/common-lisp-controller-6.15-9.fc11,maxima-5.20.1-3.fc11,pvs-sbcl-4.2-3.20100126svn.fc11,sbcl-1.0.35-1.fc11
common-lisp-controller-6.20-2.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
common-lisp-controller-6.15-9.fc12 has been pushed to the Fedora 12 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update common-lisp-controller'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2010-1845
pvs-sbcl-4.2-3.20100126svn.fc11, sbcl-1.0.35-1.fc11, maxima-5.20.1-3.fc11, common-lisp-controller-6.15-9.fc11 has been pushed to the Fedora 11 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update pvs-sbcl sbcl maxima common-lisp-controller'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2010-2931
common-lisp-controller-6.15-9.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.
pvs-sbcl-4.2-3.20100126svn.fc11, sbcl-1.0.35-1.fc11, maxima-5.20.1-3.fc11, common-lisp-controller-6.15-9.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.