2016-02-19 6 views
0

Я полагаю, что на этой платформе я использую последнюю платформу Haskell. Версия GHC - 7.6.3. Версия Cabal-install - 1.16.0.2, а версия для каббата - 1.16.0. Это работает на виртуальной машине с Ubuntu 14.04.2.mime-mail и xmlhtml имеют конфликтующие зависимости

Вот моя проблема. У меня есть приложение, которое имеет зависимости от mime-mail и xmlhtml. Оба этих пакета имеют зависимость от blaze-builder. Когда я устанавливаю эти два пакета, в любом порядке, устанавливая второй, вы жалуетесь, что он может сломать другой, и это произойдет. Запуск конфигурации cabal жалуется на то, что Blaze-Builder отсутствует и требуется каким-либо пакетом (mime-mail или xmlhtml), который я установил позже.

Теперь вот странная часть. Это строит отлично, с некоторыми предупреждениями, на физическом сервере, на котором работают те же версии GHC и cabal. Он также работает с той же версией Ubuntu. Единственное отличие, которое я вижу, это то, что тот, который работает, - это физическая машина, а та, которая не является виртуальной машиной.

Нет, я не строю в песочнице. Я читал о песочницах, но я не думаю, что это будет полезно здесь, так как конфликтующие зависимые пакеты находятся в одном приложении.

Моя проблема усугубляется тем фактом, что эта физическая машина уходит. Поэтому мне нужно, чтобы эта среда разработки работала на моей локальной виртуальной машине.

Любые предложения о том, где искать дальше?

Dave Smith

+0

Обязательно создайте изолированную изолированную пробку. Кроме того, не используйте платформу Haskell. Установите только компилятор и кабаль. Вы также можете попробовать [stack] (https://www.stackage.org/). –

ответ

1

По совету н.м., я создал новую виртуальную машину и установил только GHC и заговорщиков, то есть не полный пакет Haskell-платформы. В этой среде я не смог создать песочницу. Ошибка команды cabal sandbox init с ошибкой в ​​том, что она не распознает команду песочницы.

Однако после установки libpq-dev устранить проблему с установкой библиотеки haskell для клиента PostgreSQL я могу создать приложение без ошибок.

я сделал другой предмет иначе. Вместо того, чтобы делать cabal configure, а затем самостоятельно установить все недостающие зависимости, я сделал cabal install --only-dependencies и позволил кабалу решить, какие зависимости установить в каком порядке.

Итак, у меня теперь есть рабочая среда разработки для этого приложения, но у меня остается один вопрос.

Что такое установка платформы Haskell, вызвало эту проблему и почему было лучше установить только компилятор и кабаль? Хорошо, два вопроса. Когда я могу установить весь пакет платформы Haskell?

Спасибо за помощь!

Dave

+0

«Еще одна вещь по-другому», вероятно, что это сделала. Установив все зависимости сразу, решатель смог найти решение, которое их удовлетворяло одновременно, вместо того, чтобы противоречить «локальным оптимумам», которые несовместимы с другими вещами в вашем наборе. – sclv

+0

Также обратите внимание, что платформа ubuntu haskell совершенно устарела по сравнению с развитием экосистемы Haskell в целом ... Если ее работа для вас до сих пор хороша, но последний выпуск HP с серией 7.6 был в 2013 году ,Поэтому, как правило, с учетом более старой базы, вы, скорее всего, столкнетесь с другими проблемами с отпечатками, поскольку библиотеки вытесняют ее из окна поддержки ... – sclv