Windows 10 ghc 8.4.3 Ошибка добавления пути поиска библиотеки - PullRequest
0 голосов
/ 28 июня 2018

Я столкнулся со странным сообщением об ошибке ghci addLibrarySearchPath при использовании Haskell Platform 8.4.2 и 8.4.3 на машине с Windows 10 Pro версии 1803. Вот пример стенограммы для новой установки Haskell Platform 8.4.3, где ghci был запущен сразу после завершения установки:

C:\Users\Admin>ghci
GHCi, version 8.4.3: http://www.haskell.org/ghc/  :? for help
Prelude> import System.Random
Prelude System.Random> randomIO
ghc.exe: addLibrarySearchPath: D:\GitHub\haskell-platform\build\ghc-bindist\local\mingw\lib (Win32 error 3): The system cannot find the path specified.
-7101299332192590302

Сообщение появляется в первый раз, когда определенные действия ввода-вывода происходят в сеансе ghci (это не только из System.Random). Я читал о похожих ошибках, когда ghc ищет пути в более старом месте на платформе Haskell, например об ошибке, описанной в https://ghc.haskell.org/trac/ghc/ticket/14183. Однако в моем случае эта папка D: \ GitHub вообще никогда не существовала - это диск удаления, на котором ничего не установлено. Исправления, которые я читал для подобных ошибок addLibrarySearchPath, включали в себя повторную установку песочницы или переустановку; в этом случае песочница не была сделана, и переустановка не имела значения. Между удалением и переустановкой я очистил локальные папки, папки cabal и ghc, которые всегда остаются в AppData \ Roaming. Хотя сообщение об ошибке технически не мешает ghci работать после его появления, мне бы очень хотелось знать, что его вызывает.

Любая идея по этому поводу будет принята с благодарностью. Проблема не возникает с полной платформой на Haskell 8.2.1 или 8.2.2. Это только две более поздние версии платформы, которые демонстрируют поведение.

1 Ответ

0 голосов
/ 04 июля 2018

Ну, похоже, я нашел ответ.

После дополнительного тестирования еще на двух машинах сообщения об ошибках вызваны чем-то в полной версии Haskell Platform, поскольку невозможно воспроизвести с опцией core для тех же версий. Теперь на странице проблем GitHub на платформе Haskell есть проблема, связанная с ней:

https://github.com/haskell/haskell-platform/issues/312#issuecomment-402349871

Итак, если у кого-то еще есть ошибки addLibrarySearchPath, ссылающиеся на папку D: / GitHub / ..., вы можете избежать этого, используя базовую версию вместо полной и вручную устанавливая дополнительные библиотеки. Конечно, большинство людей в Windows используют ядро ​​в любом случае, но я использовал полное, потому что хотел сетевую библиотеку (для которой процесс ручной установки утомителен).

...