最近、職場の PC を からUbuntu
に切り替えましたArch Linux
。そして、次のエラーが発生しました(スタックを使用してプロジェクトをビルドしています):
setup-Simple-Cabal-1.22.4.0-ghc-7.10.2: 外部ライブラリへの依存関係がありません:
* C ライブラリがありません: HSrts-ghc7.10.2
この問題は通常、このライブラリを提供するシステム パッケージをインストールすることで解決できます ( 「-dev」バージョンが必要な場合があります)。ライブラリが既にインストールされているが、標準以外の場所にある場合は、フラグ --extra-include-dirs= および --extra-lib-dirs= を使用してその場所を指定できます。
私が理解している限り、Linux ディストリビューションの違いによる問題は発生しないはずです。
私が試したこと:
- ライブラリが存在するパスを --extra-lib-dirs で追加します -
stack/ghc のバージョンが両方のシステムで同じであることを確認します
- 2 つのシステム間の関連する違いを見つけることに失敗しました
( gcc のバージョンは異なりますが、何も変更されていません)
問題なくビルドできる ubutu ベースの docker コンテナがあります。
私が考えることができる唯一のことは、このライブラリにはHaskell-Runtimeが含まれているため、ランダムなCライブラリとは異なる方法で処理されるということです. しかし、この違いがどうなるかはわかりません。または、Arch System で別の処理がどのように問題を引き起こすか。
ここに私の .cabal ファイル (フォルダーにはプロジェクト全体も含まれています): https://github.com/opencog/atomspace/blob/master/tests/haskell/libExecutionOutputTest/opencoglib.cabal