haskell-stackにlibHSyaml-0.8.24-2wdOOQKc6Dt63OCZo8Nf1H-ghc8.2.1.soがないとか言われた
起こった問題
$ stack
stack: error while loading shared libraries: libHSyaml-0.8.24-2wdOOQKc6Dt63OCZo8Nf1H-ghc8.2.1.so: cannot open shared object file: No such file or directory結論
以下のコマンドで解決できる。
$ yaourt -U /var/cache/pacman/pkg/stack-1.4.0-37-x86_64.pkg.tar.xz
$ yaourt -S haskell-stack-git
# PKGBUILDの編集で、依存関係からtlibinfoとstackを消す事の流れ
あることのために、ArchLinuxにstatic-stackというhaskell-stack-gitと競合するパッケージを入れる必要があった。
事を終えた後にyaourt -S stackをした後に$ stackを実行してみると、以下のエラーを吐いた。
$ stack
stack: error while loading shared libraries: libHSyaml-0.8.24-2wdOOQKc6Dt63OCZo8Nf1H-ghc8.2.1.so: cannot open shared object file: No such file or directoryつまるところ、stackコマンドほぼ全体が使えない。
libHSyaml-0.8.24-2wdOOQKc6Dt63OCZo8Nf1H-ghc8.2.1.soはおそらくstack setupで入ったその場のghc8.2.1と結びついたライブラリだと思われる。
なので$ stack setupし直せばいけるか? とも思ったが、しかしstackコマンドが使えないので、それもできない。
幸いこのArchLinuxには/var/cache/pacman/pkg/stack-1.4.0-37-x86_64.pkg.tar.xzが存在したのでyaourt -Uでそれを入れると、
正常に動いた。
その後$ stack setupしてみるも「既にghcは入っている」的なことを言われたが$ rm -rf ~/.stackを試すのも馬鹿らしいので、
またhaskell-stack-gitを入れることにした。
$ yaourt -S haskell-stack-git
# PKGBUILDの編集で、依存関係からtlibinfoとstackを消すこれで解決した。

