2009-12-19 5 views
0

Mac OS 10.5 및 SBCL 1.0.29가 설치된 Intel Mac을 사용하고 있습니다. 나는 1.0 이전의 Hunchentoot 개발을 여기서 끝냈다. 그래서 (asdf-install을 통해) 설치했다.Hunchentoot 1.0은 빈 응답 만 반환합니다.

최근 새 프로젝트를 시작하여 Hunchentoot 1.0부터 시작하겠다고 결정했습니다. 나는 asdf-install'ed Hunchentoot를 설치했고, 1.0 (및 deps)을 설치하는 것처럼 보였다. SBCL에서 (SLIME 또는 터미널을 통해)로드 할 수 있으며 새 인터페이스에 대한 코드를 작성할 수 있으며 컴파일이 잘되며 모든 것이 잘된 것처럼 보입니다.

즉, 내가 웹 페이지에 액세스하려고 할 때까지 : 나는 단지 빈 응답만을 얻습니다. Firebug는 "200 OK"를보고하지만 페이지 정보는 크기가 "0 bytes"(text/plain, ISO-8859-1, 기본값은 추측)입니다. 그래서 netcat과 telnet을 시도했는데, 그것은 내 포트에서 연결을 수락 한 다음 즉시 연결을 끊는 것 같습니다.

Mac OS에서 Hunchentoot 1.0에 문제가 있습니까? 또는 동시에 두 개의 Hunchentoot 버전을 설치해야합니까? 아니면 내가 생각하지 않은 다른 것? 아마 분명 할 것 같지만 여기서 공란을 그리고 있습니다.

감사합니다.

+0

나는 Hunchentoot 메일 링리스트에서이 질문을 할 것을 제안 할 것이다. –

+1

이 문제를 다른 Lisp 인터프리터로 확인 했습니까? 여기에 비슷한 문제가 설명되어 있습니다 (CCL에 버그가있었습니다). http://sean-ross.blogspot.com/2009/03/hunchentoot-ccl-and-windows.html –

+0

아직 그 링크는 두 가지 모두를위한 것입니다. 다른 컴파일러와 다른 운영 체제를 사용하고 있으므로 (놀랄 것도없이) 제안 된 해결 방법은 여기서 도움이되지 않습니다. – Ken

답변

1

나는 최근에 Hunchentoot, CFFI 등의 알려진 의존성 집합을 포함하는 Lisp 웹 응용 프로그램을 작성하는 방법에 대한 자습서를 작성했습니다.

documentation을 확인하시기 바랍니다. 링크 된 github 페이지에서 코드를 실행하여 자신에게 적합한 지 확인하십시오. 문제가 없다면 라이브러리가 아닌 Lisp 컴파일러에 문제가 있습니다. 나는 github에 직접 연결 하겠지만, 나는 여기 새로 왔고 분명히 한 가지 대답에 두 개의 링크를 게시하는 데 충분한 평판 포인트가 없다.

내 머리 꼭대기에서 SBCL이 Mac OS X의 스레드와 문제가 있다는 것을 알고 있습니다. Mac 용으로 매우 최적화 된 Clozure Common Lisp을 살펴 보겠습니다.

+0

Darwin의 SBCL 스레딩은 실험적으로 간주되지만 특정 "문제"가 있습니까? 저는 지난 1 년 동안 여기 SBCL에서 1.0 이전의 Hunchentoot (스레딩 사용)을 사용하여 Lisp 웹 응용 프로그램을 개발해 왔으며 한번도 문제가 없었습니다. – Ken

+0

BTW, 귀하의 응용 프로그램을 다운로드하고 잘 실행됩니다. 따라서 SBCL에 문제가있을 수 있지만 asdf가 설치되어있는 Hunchentoot 1.0에서는 100 % 오류가 발생하고 동일한 SBCL로 자체 폴더 Hunchentoot 1.0에서는 100 %의 성공률을 보게됩니다. 이는 내 SBCL이 여기서 잘못한 게 아니야. – Ken

+0

음, 약 1-2 년 전에 Darwin에서 스레딩이 심각하게 중단되었습니다 (뮤텍스가 작동하지 않거나 Lisp 코어가 손상 될 수 있음). 그 이후로 상황이 나아 졌을 수도 있지만, 나는 그 경험에 대해 조금 낙담했다. 내 응용 프로그램이 작동한다는 사실은 내 마음 속에서는 사용중인 Hunchentoot (또는 usocket?)의 ASDF 버전의 버그 일 뿐이며 SBCL 자체는 아닙니다. asdf-install'able 인 라이브러리의 버전은 때로는 시대에 뒤떨어져 있기 때문에 asdf-install (그러나 asdf는 물론)을 피하고 저자의 최신 버전의 코드를 사용합니다. – smanek