Ubuntu Hardy で clisp で (require :PACKAGE) を使用するにはどうすればよいですか?
-
01-07-2019 - |
質問
答えを評価しようとしています ここで提供されます, 、エラーが発生します: "A file with name ASDF-INSTALL does not exist"
クリップを使用する場合:
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 は同様のエラーをスローします。
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:~$
しかし、sbcl は完全に動作します。
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)
これを修正する方法について何かアイデアはありますか?見つけました この郵便受け インターネット上にありましたが、それを使用してもうまくいきませんでした。
解決
clisp で clc:clc-require を使用します。「man common-lisp-controller」を参照してください。clisp でも同じエラーが発生しましたが、clc:clc-require を使用して解決しました。sbcl は require だけでも正常に動作します。
他のヒント
入手した説明書には SBCL について明示的に言及されているため、SBCL を使用するとより適切に動作すると予想されます。他の Lisp には ASDF が付属していないか、CL:REQUIRE に接続されていないものもあります。前者の場合は、事前に ASDF を自分でロードする必要があります。後者の場合、 (require ) の代わりに (asdf:oos 'asdf:load-op ) を呼び出す必要があります。
ウィゲット http://cclan.cvs.sourceforge.net/チェックアウト/cclan/asdf/asdf.lisp
clbuild をチェックしてみる価値があります。 http://common-lisp.net/project/clbuild/
Lisp Webサーバーを立ち上げて実行するため。必要なのは以下だけです:
darcs get http://common-lisp.net/project/clbuild/clbuild
cd clbuild
chmod +x ./clbuild
./clbuild check
./clbuild build slime hunchentoot
./clbuild preloaded
これで、Lisp repl が開始されます。そこに次のように書きます。
* (hunchentoot:start-server :port 8080)
サーバーが応答するかどうかをテストします。
wget -O - http://localhost:8080/
<html><head><title>Hunchentoot</title></head>
<body><h2>Hunchentoot Default Page</h2>
<p>This is the Hunchentoot default page....
何よりもまずこれを試してください。
(require :asdf)
私たちが使用している環境からいくつかのアイデアを盗むことができます。以下で入手可能です: ダルクスウェブ
asdf をロードして設定するenvironment.lispを参照してください。(sbcl には asdf が既にロードされています)