Ханчентуция
После компиляции кода, запускающего сабж, такое ощущение что процесс "уходит" в idle: все дальнейшие команды на компиляцию (файла или функции) выводят "; pipelined request...", но ничего не происходит. Опытным путём установлено, что можно убить процесс (C-c C-b) + "abort", после чего перекомпилировать.
А как же Интерактивная Разработка? Как так запустить сервер отдельно от слайма, чтоб он не мешал компилировать и сразу видеть изменения в браузере? Или может быть как-то перевести его в фоновый режим?
[#]
> sbcl из репозитория убунты 1:1.0.18.0-2
Насколько я знаю, в репозитории Ubuntu SBCL без потоков, надо скачать исходники и собрать самому, это не сложно. Сам я правда этого не делал (ибо у меня Gentoo), но один знакомый, начинающий и в CL и в Linux смог разобраться без особых проблем.
[#]
Точнее, не исходники, а скомпиленные для линукса бинарники. Но исходники там той же самой последней версии. Наверное, это равноценно. :)
[#]
> Можно спросить у sbcl, какой он версии?
Ну, дык
sbcl --version
Вообще, надо смотреть переменную *features* на предмет если ли поддержка потоков.
(find :sb-thread *features*)
Что показывает этот код?
[#]
> Поиск по фичам возвращает NIL.
Значит потоков нет. Либо неправильно собрал, либо неправильно установил :)
[#]
Убрал то, что установила убунта, переустановил бинарники, добавил в ~/.sbclrc:
(pushnew :sb-thread *features*)
В итоге если запустить sbcl из терминала, то :sb-thread в *features* есть, а если через "clbuild slime", то не находит. Не пойму, откуда ж тогда оно грузится?
[#]
>Убрал то, что установила убунта, переустановил бинарники, добавил в ~/.sbclrc:
>(pushnew :sb-thread *features*)
Многопоточность включается при сборке sbcl (и включена по умолчанию начиная с версии 1.0.34 для Linux x86(_64)).
Многопоточность включается при сборке sbcl (и включена по умолчанию начиная с версии 1.0.34 для Linux x86(_64)).
>В итоге если запустить sbcl из терминала, то :sb-thread в *features* есть, а если через "clbuild slime", то не находит. Не пойму, >откуда ж тогда оно грузится?
clbuild по умолчанию игнорирует ~/.sbclrc. Что бы перестал надо создать в директории с оным файл clbuild.conf (есть болванка clbuild.conf.defauld) и заменть в USER_INIT на что то отличное от /dev/null.
Как, кастати, запускается slime: ./clbuild slime али по другому?
clbuild по умолчанию игнорирует ~/.sbclrc. Что бы перестал надо создать в директории с оным файл clbuild.conf (есть болванка clbuild.conf.defauld) и заменть в USER_INIT на что то отличное от /dev/null.
Как, кастати, запускается slime: ./clbuild slime али по другому?
[#]
> начиная с версии 1.0.34 для Linux x86(_64)
которая, оказывается, 30 декабря вышла. "А мужики-то не знают!" (с) Стащил, поставил, вуаля:
CL-USER> (find :sb-thread *features*) => :SB-THREAD
^_^