Dec
23

Установка scion-server для Eclipse

Для программирования на языке Haskell в Eclipse есть специальный плагин EclipseFP. Про установку EclipseFP я уже писал ранее. В этой статье разберем как установить scion-server для EclipseFP.Если в Eclipse зайти в меню Window – Preferences – Haskell – Scion and Cabal, то откроется диалоговое окно, в котором нужно указать путь к Cabal. Cabal, упрощенно говоря, – это инструмент для удобной установки пакетов Haskell. Если Haskell у вас уже установлен, то Cabal тоже должен быть установлен. Нажмите кнопку “Autodetect” и Eclipse автоматически найдет Cabal (если он установлен) и определит его версию. Последняя версия Cabal на текущий момент – 0.8.2 (Library version 1.8.0.6). Теперь при перезапуске Eclipse он будет пытаться скомпилировать scion-server и в случае неуспеха выдавать ошибку. Ход компиляции можно отображается в окне Console. В случае возникновения каки-либо проблем при компиляции scion-server посмотрите лог и определите с каким пакетом связана эта проблема. Затем эти пакеты можно попытаться установить вручную с помощью cabal install <package-name>.

Я настроил scion-server для Eclipse под следующими операционными системами – Ubuntu 10.10, Ubuntu 10.10 Netbook Edition и Windows XP. Процесс установки, в принципе, похож.

  1. Настройте подключение cabal к Интернет. Особенность здесь в том, что cabal не поддерживает NTLM-аутентификацию прокси-сервера. Дома у меня такого сервера нет и ничего настраивать не пришлось. А на работе NTLM прокси-сервер есть. В таком случае необходимо на время настройки cabal, scion-server запустить локальный прокси-сервер, который будет аутентифицироваться по NTLM на внешнем прокси. Таких прокси-серверов много. Я особо долго не выбирал – скачал http://tredosoft.com/ntlm_proxy_server и быстро настроил его. Настройка проста – нужно просто прописать параметры подключения в файл server.cfg. Затем необходимо настроить Internet Explorer на подключение к Интернет через этот прокси, так как cabal берет настройки подключения к Интернет из настроек IE.
  2. Выполните в консоли команду cabal update. Эта команда обновляет список пакетов, доступных на сервере для скачивания. В Windows архив с реестром пакетов скачивается в папку C:\Documents and Settings\<username>\Application Data\cabal\packages\hackage.haskell.org
  3. Если у вас старая версия cabal или cabal-install, то обновите ее. Посмотреть информацию об установленной, а также о доступной для скачивания версиях пакета можно с помощью команды cabal list <package_name> или cabal info <package_name>. Например, посмотреть версию cabal можно с помощью команды cabal list cabal. Установить последнюю версию пакета можно с помощью команды cabal install <package_name>. Например, установить последнюю версию cabal можно с помощью команды cabal install cabal. Установить конкретную версию пакета можно с помощью команды cabal install <package_name>-<version>
  4. Установите вручную (как это описано в п. 3) все пакеты, с которыми возникают ошибки в процессе компиляции scion-server. На Ubuntu я вручную устанавливал следующие пакеты: happy, haskell-src-exts, HUnit, QuickCheck-2.4.0.1. На Windows я вручную устанавливал пакеты happy, haskell-src-exts,HUnit, QuickCheck-2.4.0.1. Под Windows я сначала запускал cabal из Emacs shell и из cygwin, и при компиляции некоторых пакетов возникли ошибки с путями. Поэтому, если работаете в Windows, то проще cabal запускать из cmd.
  5. Надо также установить собственно пакет scion. Но установка как описано в п. 4 не проходит, так как последняя стабильная версия scion – 0.1.0.2 не работает с ghc 6.12.x. Эта проблема описана тут. Для решения этой проблемы необходимо скачать исходники scion из девелоперской версии. Затем распакуйте скачанный архив, зайдите в папку и выполните команду cabal install (не cabal install scion!). Результат установки можете проверить командой cabal list scion. После установки папку с исходниками scion и скачанный архив можно удалить.
  6. Запустите Eclipse. На очередной итерации scion-server скомпилируется успешно и будет просто запускаться при запуске Eclipse.

Вот и все.

PS. В этой статье не рассматривалась настройка scion для работы с emacs. И не рассматривались вопросы использования scion. С этими вопросами я буду разбираться дальше.

Post comment