4 Stimmen

Wie verwende ich (require :PACKAGE) in clisp unter Ubuntu Hardy?

Ich versuche, die Antwort zu bewerten hier zur Verfügung gestellt und erhalte die Fehlermeldung: "A file with name ASDF-INSTALL does not exist" bei der Verwendung von Clisp:

dsm@localhost:~$ clisp -q
[1]> (require :asdf-install)

*** - LOAD: A file with name ASDF-INSTALL does not exist
The following restarts are available:
ABORT          :R1      ABORT
Break 1 [2]> :r1
[3]> (quit)

dsm@localhost:~$ 

cmucl löst einen ähnlichen Fehler aus:

dsm@localhost:~$ cmucl -q
Warning:  #<Command Line Switch "q"> is an illegal switch
CMU Common Lisp CVS release-19a 19a-release-20040728 + minimal debian patches, running on crap-pile
With core: /usr/lib/cmucl/lisp.core
Dumped on: Sat, 2008-09-20 20:11:54+02:00 on localhost
For support see http://www.cons.org/cmucl/support.html Send bug reports to the debian BTS.
or to pvaneynd@debian.org
type (help) for help, (quit) to exit, and (demo) to see the demos

Loaded subsystems:
    Python 1.1, target Intel x86
    CLOS based on Gerd's PCL 2004/04/14 03:32:47
* (require :asdf-install)

Error in function REQUIRE:  Don't know how to load ASDF-INSTALL
   [Condition of type SIMPLE-ERROR]

Restarts:
  0: [ABORT] Return to Top-Level.

Debug  (type H for help)

(REQUIRE :ASDF-INSTALL NIL)
Source: 
; File: target:code/module.lisp
(ERROR "Don't know how to load ~A" MODULE-NAME)
0] (quit)
dsm@localhost:~$ 

Aber sbcl funktioniert perfekt:

dsm@localhost:~$ sbcl -q
This is SBCL 1.0.11.debian, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* (require :asdf-install)

; loading system definition from
; /usr/lib/sbcl/sb-bsd-sockets/sb-bsd-sockets.asd into #<PACKAGE "ASDF0">
; registering #<SYSTEM SB-BSD-SOCKETS {AB01A89}> as SB-BSD-SOCKETS
; registering #<SYSTEM SB-BSD-SOCKETS-TESTS {AC67181}> as SB-BSD-SOCKETS-TESTS
("SB-BSD-SOCKETS" "ASDF-INSTALL")
* (quit)

Haben Sie eine Idee, wie man das beheben kann? Ich fand ce poste im Internet, aber auch das hat nicht funktioniert.

0 Stimmen

Ja, Entschuldigung. Ich hätte vielleicht explizit erwähnen sollen, daß es nur mit SBCL so einfach ist, aber ich kenne keine andere Möglichkeit, eine Lisp-Bibliothek einfach zu installieren. Ich werde mir mal clbuild anschauen.

0 Stimmen

(Ich persönlich installiere immer alles über SBCL und benutze es danach von allen Lisp-Implementierungen. Alle meine Lisp-Compiler verwenden die gleiche ASDF-Systemregistrierung).

3voto

Attila Lendvai Punkte 1320

Versuchen Sie dies vor allem anderen:

(require :asdf)

Sie können sich einige Ideen aus der von uns verwendeten Umgebung abschauen: darcsweb

siehe environment.lisp, die asdf für uns lädt und einrichtet. (sbcl hat asdf bereits geladen)

3voto

Luís Oliveira Punkte 2936

In der Anleitung, die Sie erhalten haben, wird SBCL ausdrücklich erwähnt, so dass zu erwarten ist, dass sie mit SBCL besser funktionieren, nehme ich an. Einige andere Lisps werden nicht mit ASDF geliefert oder verbinden es nicht mit CL:REQUIRE. Im ersten Fall müssen Sie ASDF vorher selbst laden. Im letzteren Fall müssen Sie (asdf:oos 'asdf:load-op ) anstelle von (require ) aufrufen.

3voto

FlinkmanSV Punkte 17684

Wget http://cclan.cvs.sourceforge.net/ Zur Kasse /cclan/asdf/asdf.lisp

Es lohnt sich, clbuild zu überprüfen. http://common-lisp.net/project/clbuild/

Um einen Lisp-Webserver zum Laufen zu bringen. Sie brauchen nur:

darcs get http://common-lisp.net/project/clbuild/clbuild
cd clbuild
chmod +x ./clbuild
./clbuild check
./clbuild build slime hunchentoot
./clbuild preloaded

Jetzt wird eine Lispelreplik gestartet. Dort schreiben Sie:

* (hunchentoot:start-server :port 8080)

Prüfung, ob der Server antwortet:

wget -O - http://localhost:8080/

<html><head><title>Hunchentoot</title></head>
 <body><h2>Hunchentoot Default Page</h2>
  <p>This is the Hunchentoot default page....

1voto

Clc:clc-require in Clisp verwenden. Siehe 'man common-lisp-controller'. Ich hatte den gleichen Fehler in Clisp und konnte ihn durch die Verwendung von clc:clc-require beheben. sbcl funktioniert jedoch auch mit require.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X