Joh*_*O'D 8 haskell pthreads package ghci
我已经在 Windows 10 上安装了 Haskell 平台版本 8.2.2(完整版,64 位)。 ghc 和 WinGHCi 都可以工作。有几个问题: -- 在 cygwin 中运行 ghci 会出现此错误:
GHCi,8.2.2 版:http : //www.haskell.org/ghc/ :? 寻求帮助:无法加载用户指定的 .o/.so/.DLL(addDLL:pthread 或依赖项未加载。(Win32 错误 193))尝试加载时:(动态)pthread 搜索的其他目录:(无)
-- 在 PowerShell 中运行 ghci 只会导致 PowerShell 冻结 -- 使用 cabal 安装软件包会产生类似的错误消息 -- ghc-pkg check 会产生大量警告,其中包括许多涉及 ghc-8.0.1 的警告,这是最多的在我的计算机上运行的最新版本的 ghc 未设置 GHC_PACKAGE_PATH。我在我的配置中找不到任何涉及 ghc-8.0.1 的内容。(cabal.config 文件包含 Haskell 平台下载页面中给出的定义。)
错误消息“:无法加载用户指定的.o/.so/.DLL(addDLL:pthread或依赖项未加载。(Win32错误193))的原因和解决方法是什么?
尝试使用系统管理员权限运行 GHCI(在“开始”中键入“Command Pro...”,然后单击“以管理员身份运行”)。如果ghci现在有效,则问题已解决,因为您现在可以访问该文件c:\Windows\System32\pthread.dll。
要在没有管理员权限的情况下使用ghci(推荐),请更改权限(当您拥有管理员权限时),以便用户可以读取该pthread.dll文件:
C:\> CACLS c:\Windows\System32\pthread.dll /e /p your-username:r
(替换your-username为您的实际用户名)
此修复归功于此帖子:https://faculty-web.msoe.edu/hasker/cs3040/ghc-install.html
小智 5
我在 Windows 10 上全新安装完整的 64 位 Haskell Plateform 时遇到了同样的错误。
我尝试摆弄另一个项目(确切地说是 Lilypond)提交的 pthread.dll。我将其添加到 ghci 运行时 Stack 添加的附加目录之一stack ghci。
Ghci 可以找到它但无法加载它。所以问题不在于 ghci 未能找到任何与 pthread 相关的东西。
这是供参考的输出:
$ stack ghci
The following GHC options are incompatible with GHCi and have not been passed to it: -threaded
GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help
<command line>: user specified .o/.so/.DLL could not be loaded (addDLL: C:\Users\Alice\AppData\Local\Programs\stack\x86_64-windows\msys2-201505)
Whilst trying to load: (dynamic) C:\Users\{user}\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin\pthread.dll
Additional directories searched: C:\Users\{user}\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\bin
C:\Users\{user}\AppData\Local\Programs\stack\x86_64-windows\msys2-20150512\mingw64\lib
Run Code Online (Sandbox Code Playgroud)