Clozure CLに関する質問があります。 私はquicklispからパッケージをクイックロードしようとしていましたが。 エラーを送出します。それを見つけましたが、役に立たないものは見つかりませんでした。ここで Clozure CL外部変数 "O_NONBLOCK"が見つかりません
はエラーメッセージです:(ql:quickload :drakma)
To load "drakma":
Load 1 ASDF system:
drakma
; Loading "drakma"
..
Read error between positions 6342 and 6532 in /Users/Mac/quicklisp/dists/quicklisp/software/cl+ssl-20111105-git/streams.lisp.
> Error: Foreign variable "O_NONBLOCK" not found
> While executing: CCL::%LOAD-VAR, in process Listener(6).
は、事前にありがとう
私はメーリングリストに求めてきました:
メーリングリストからの回答:
あなたが移動した場合または"darwin-x86-headers"ディレクトリの名前を変更します(または、 不完全なインストールをシミュレートしようとします):
その後、[src/ccl-dev] [email protected]> mv darwin-x86-headers64 darwin-x86-headers64X
とCCLを実行し、そのディレクトリに インタフェースファイルで定義されている何か(O_NONBLOCK)にアクセスしよう:
[src/ccl-dev] [email protected]> ccl64
Welcome to Clozure Common Lisp Version 1.8-dev-r15225M-trunk (DarwinX8664)!
? #$O_NONBLOCK
あなたが不足しているインタフェースファイルに関する警告または2を取得
; Warning: Interface file #P"/usr/local/src/ccl-dev/darwin-x86-headers64/libc/constants.cdb" does not exist, and the containing directory does not exist.
; This may mean that that the "ccl:" logical-pathname host has not been properly initialized. ; While executing: CDB-OPEN, in process listener(1).
; Warning: Interface file #P"/usr/local/src/ccl-dev/darwin-x86-headers64/libc/vars.cdb" does not exist, and the containing directory does not exist.
; This may mean that that the "ccl:" logical-pathname host has not been properly initialized.
あなたが報告したのと同じエラーが発生する前に、
Quicklispを使用して、その定数の値 (見つからない)データベースファイルを検索しようとするコードを読み込むと、警告が表示されません。
一方、 Quicklispを使用するとドット文字が表示されます。 (時には、それらの多く!)
私はQuicklispのターゲットオーディエンスの一部であると主張していないが、私は、私もその場合(メッセージと診断 を進める見ることができることに投票したいと思う投票 を持っていました特に - - さらに少ないドットとを見て意味していた。彼らは、この場合にように見えるような診断が 、インストールの問題を示す場合)
燃える停止し、元の質問に対処しようとするには、インターフェイスディレクトリ が戻された場合CCLがそれを期待するところに:
? #$O_NONBLOCK
4
ものが期待通りに機能します。 (そうでなければ、 CCL自体をコンパイルすることも、FFIのリーダーマクロを使用する他の多くのコードをコンパイルすることもできません)。 これは、CCLが正しくインストールされていないことを意味します。 システム。私は絶対的な確信をもってそれを知らず、私はあなたのシステムにどのようにインストールされているのか知っている方法はありません。 このような問題をマニュアルやウェブサイトが示唆する方法は避けています。
おそらく、それぞれの管理者のサポートメーリングリストを使用するのが最善です。 –
私はClozure CLを使用しています。この回答はCCLメーリングリストからのものです... – juanitofatas