Как можно создать пакет Haskell lmdb на MacOS?

Я попытался собрать его на Linux без особых проблем, он требовал только одного или двух apt installs.

Но я врезался в стену на MacOS. Вот воспроизводимый пример:

stack unpack lmdb
cd lmdb-0.2.5
stack init
stack build

я получил

Configuring lmdb-0.2.5...
Cabal-simple_mPHDZzAJ_2.0.1.0_ghc-8.2.2: Missing dependency on a foreign
library:
* Missing C library: lmdb
This problem can usually be solved by installing the system package that
provides this library (you may need the "-dev" version). If the library is
already installed but in a non-standard location then you can use the flags
--extra-include-dirs= and --extra-lib-dirs= to specify where it is.

Я тоже раньше пробовал

brew install lmdb
brew install pkg-config

Безуспешно.

Странно то, что следующее успешно.

$ pkg-config --modversion lmdb
0.9.21

Так использует ли стек / cabal-install / ghc несистемный pkg-config? И если да, могу ли я сказать, чтобы он использовал общесистемный? Я также пытался выяснить это, ища strace альтернативы и узнать о dtruss, Однако на выходе dtruss -af stack build Я не видел никаких упоминаний о pkg-config, Возможно, некоторые из вас узнают, как я могу спросить dtruss сказать мне соответствующие системные вызовы?

Кроме того, поскольку я до сих пор пробовал много вещей, чтобы заставить его работать, многое из того, что я, вероятно, не помню в данный момент, я мог или не мог поставить свою систему в странное состояние. (Например, я помню, как копировал некоторые файлы lmdb.pc, чтобы попытаться сделать это). Поэтому я был бы признателен даже за несколько отчетов, если некоторые из этих шагов сработали для вас или есть другой способ, который работает / может работать, который у меня нет. не считается.


Разное:

  • ОС: 10.11.5
  • Стек: 1.6.3

0 ответов

Другие вопросы по тегам