erstellen Ich bin nicht in der Lage, ein Test-Haskell 2010-Programm zu bauen, das auf Paket gi-gtk
mit stack
unter Windows 10 abhängt. Jede Anleitung, wie dies zu tun wäre, wäre willkommen.Wie gi-gtk-Paket unter Windows 10 mit Stack
Insbesondere versagt stack build
bei/nach der Abhängigkeit gi-gdk-3.0.3: configure
mit Nachricht:
[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)
Der Kontext ist stack
Version 1.2.0, resolver: lts-7.8
(GHC 8.0.1) und Windows 10 Version 10.0.14393 - die Eingabeaufforderung mit aktiver Codepage: 65001 und Schriftart DejaVu Sans Mono. Ich erwähne letzteres, weil ich an anderer Stelle gelesen habe, dass 'ungültiges Argument (ungültiges Zeichen)' etwas mit Unicode zu tun haben kann. Mit Codepage 65001 ist localeEncoding
UTF-8.
Die folgenden Umgebungsvariablen gesetzt wurde:
PKG_CONFIG_PATH=C:\msys64\mingw64\lib\pkgconfig
XDG_DATA_DIRS=C:\msys64\mingw64\share
im Lichte dieser Wiki-Seite: Using haskell gi in Windows
überarbeitete Update: mit einer lokalen Kopie des Pakets zu experimentieren, scheint es, dass das, was Anlass geben wird Das Problem ist "smart" einzelne oder doppelte Anführungszeichen Zeichen in *.gir
Dateien an (auf meinem System) C:\msys64\mingw64\share\gir-1.0
. Zum Beispiel ein 'Right Single Anführungszeichen' (U + 2019) Zeichen. Die betroffenen Dateien in meinem Fall sind Gdk-3.0.gir
und Gtk-3.0.gir
. Die Übersetzung dieser * .gir-Dateien in *.hs
-Dateien scheint an der Stelle abzubrechen, an der das erste "intelligente" Anführungszeichen angetroffen wird.
Irgendwo fehlt wahrscheinlich 'hSetEncoding stdout utf8' ... Ich denke, das ist auf vielen Systemen Standard, weshalb es bis jetzt vermisst worden wäre. – Alec
@ Alec, ich denke, dass "irgendwo" "stack" sein muss, da 'cabal install gi-gtk' letztendlich zu funktionieren scheint (es ist ein paar Mal auf dem Weg ins Stocken geraten). Was ich nicht befolge, ist, dass mit der aktiven Codepage: 65001, 'localeEncoding' (was ich als Standard bei der Erstellung eines Handles verstehe) bereits' UTF-8' ist. –