Почему CCL не может загрузить hunchentoot?

SBCL может успешно загрузить hunchentoot. Однако CCL сообщил:

? (ql:quickload :hunchentoot)
To load "hunchentoot":
Load 1 ASDF system:
hunchentoot
; Loading "hunchentoot"
> Error: Unable to load any of the alternatives:
>           ("libssl.so.0.9.8" "libssl.so" "libssl.so.4")
> While executing: CFFI::FL-ERROR, in process listener(1).
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.nter code here

Любое предложение приветствуется!


person z_axis    schedule 29.12.2011    source источник


Ответы (2)


Если вам не нужен ssl (или вы будете использовать для этого Apache), вы можете

(push :hunchentoot-no-ssl *features*)

а потом

(ql:quickload 'hunchentoot)
person Luka Ramishvili    schedule 26.02.2012
comment
Извините моя ошибка. (нажмите :HUNCHENTOOT-NO-SSL *функции). двоеточие, а не одинарная кавычка. - person Luka Ramishvili; 29.02.2012
comment
Отлично, еще один потенциальный хунчентутер :) не забудьте отметить как ответ. - person Luka Ramishvili; 05.03.2012
comment
Спасибо :) Если вам нужно что-то еще с установкой, не стесняйтесь обращаться. В настоящее время я установил hunchentoot на Ubuntu, Centos и Windows (на работе). Я столкнулся с некоторыми проблемами и решил их, поэтому, возможно, я могу немного помочь. - person Luka Ramishvili; 07.03.2012
comment
Пожалуйста! Теперь я просто использую hunchentoot-cgi для запуска старого приложения Python CGI. Это прекрасно работает. Возможно, в будущем я буду использовать hunchentoot для размещения других веб-приложений. - person z_axis; 08.03.2012
comment
Я случайно попал сюда и заметил две ошибки в своих ответах: во-первых, вы должны использовать #:hunchentoot или hunchentoot в качестве имени пакета. во-вторых, это *функции*, а не *функции (хотя это опечатка). - person Luka Ramishvili; 13.07.2012

Он ищет версию библиотеки SSL, которой у вас нет. Простой способ исправить это (я не проверял правильное поведение самой библиотеки) - это символическая ссылка. Запустите их в своей оболочке:

locate libssl

Он должен вернуть что-то вроде:

/lib/i386-linux-gnu/libssl.so.1.0.0
/lib/x86_64-linux-gnu/libssl.so.1.0.0
/usr/lib/firefox-8.0/libssl3.so
/usr/lib/i386-linux-gnu/libssl.so.1.0.0
/usr/lib/thunderbird-8.0/libssl3.so
/usr/lib/x86_64-linux-gnu/libssl.so
/usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
/usr/lib/x86_64-linux-gnu/libssl3.so
/usr/lib/x86_64-linux-gnu/libssl3.so.1d

Вам наверняка нужен /usr/lib/x86_64-linux-gnu или аналогичный, в зависимости от вашей платформы.

Затем создайте символическую ссылку:

ln -s libssl3.so libssl.so

заменив libssl3.so на версию, которую вы установили.

person sbenitezb    schedule 04.01.2012
comment
На моей машине freebsd есть ссылка: /usr/lib/libssl.so@ -> libssl.so.6, но почему CCL не может найти /usr/lib/libssl.so ? - person z_axis; 05.01.2012