パッケージgi-gtk
に依存するテスト用のHaskell 2010プログラムをWindows 10上にstack
でビルドすることはできません。コマンドプロンプトを使用して -スタックでWindows 10にgi-gtkパッケージをビルドする方法
[1 of 1] Compiling Main (C:\Users\MIKEPI~1\AppData\Local\Temp\stack2692\gi-gdk-3.0.3\Setup.hs, C:\Users\MIKEPI~1\AppData\Local\Temp\stack2692\gi-gdk-3.0.3\.stack-work\dist\b7fec021\setup\Main.o)
Linking C:\Users\MIKEPI~1\AppData\Local\Temp\stack2692\gi-gdk-3.0.3\.stack-work\dist\b7fec021\setup\setup.exe ...
GI\Gdk\Structs\EventProximity.hs: commitAndReleaseBuffer: invalid argument
(invalid character)
コンテキストがあるstack
バージョン1.2.0、resolver: lts-7.8
(GHC 8.0.1)とWindows 10バージョン10.0.14393:
具体的には、stack build
は、メッセージに依存gi-gdk-3.0.3: configure
後/で失敗しますアクティブなコードページ:65001およびフォントDejaVu Sans Mono。なぜなら、無効な引数(無効な文字)がUnicodeと関係している可能性があるからです。コードページ65001の場合、localeEncoding
はUTF-8です。
次の環境変数が設定されています:
PKG_CONFIG_PATH=C:\msys64\mingw64\lib\pkgconfig
XDG_DATA_DIRS=C:\msys64\mingw64\share
このwikiページの光の中で:Using haskell gi in Windows
改訂アップデート:パッケージのローカルコピーを試して、何が上昇を与えていることが表示されます(私のシステム上の)C:\msys64\mingw64\share\gir-1.0
にある*.gir
ファイルの「スマート」一重引用符文字または二重引用符文字です。たとえば、「Right Single Quotation Mark」(U + 2019)文字です。私の場合に影響を受けたファイルはGdk-3.0.gir
とGtk-3.0.gir
です。これらの '* .gir'ファイルを*.hs
ファイルに変換すると、最初の「スマート」引用符が検出された時点で中止されたように見えます。
誰かがおそらく 'hSetEncoding stdout utf8'を見つけられません...これは多くのシステムではデフォルトであると思います。 – Alec
@Alec、私は 'cabal install gi-gtk'がやっと働くように(途中で数回停滞した)' somewhere 'が 'stack'でなければならないと思います。私が従わないのは、アクティブなコードページ:65001、 'localeEncoding'(ハンドルが作成されたときのデフォルトであると理解しています)はすでに' UTF-8'です。 –