2017年1月25日水曜日

Haskellふたたびはじめました -その1-

再びHaskellを勉強しようという気になってきた。
HDBC-sqlite3パッケージをインストールしようと思ったら、以前と同じエラー「* Missing C library: sqlite3」が出るので、Google先生の言うとおりにSQLiteのサイトからDLLとソースをコピーしてきて、「--extra-include-dirs」で指定したが、解消しない。
関連するパッケージをインストールしなおそうとしたが、バージョンが合わないとか何とか・・・。
で、いろいろ調べるうちに、最近のインストールはStackってのを使うとパッケージのバージョン不一致に苦しまないぜ的なことを見つけたので、Stackをインストール。GHCもイストールしなおして、再チャレンジするも、またもダメ。
で、一夜明けて気を取り直して、再チャレンジしたらうまくいった。

C:\Users\Kenji>stack install HDBC-sqlite3 --extra-include-dirs="C:\sqlite3" --extra-lib-dirs="C:\sqlite3"
HDBC-sqlite3-2.3.3.1: configure
HDBC-sqlite3-2.3.3.1: build
HDBC-sqlite3-2.3.3.1: copy/register

うまくいかなかったときにやったことは、「stack path」コマンドでしらべた「ghc-paths」を環境変数のPathに追加。(←これ関係ないかも。)あとは、SQLite3.dllを、64bit版に置き換え。

また7年経って、記憶を無くした自分がググったときに、この記事を見つけてくれることを願う。(そのころにはまた新しいパッケージ管理システムが出てそうだけど。)