首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wai模板函数找不到Libz.so

Wai模板函数找不到Libz.so
EN

Stack Overflow用户
提问于 2018-08-27 00:34:42
回答 1查看 676关注 0票数 5

<command line>: can't load .so/.DLL for: libz.so (libz.so: cannot open shared object file: no such file or directory)

这是我在安装WAI库时遇到的错误:

  • wai-app-static-3.1.6.2
  • wai-websockets-3.0.1.2

这似乎与模板Haskell在动态链接方面存在问题有关。其他链接到zlib的包(或libz、z或libz1g或任何月份版本的包管理器选择调用标准压缩库)运行良好,只有那些在编译时尝试动态链接到它的包才能正常工作。

我用过nix-env -i zlib && nix-shell -p zlib

我做过apt-get install on zlib1gzlib1g-devlib32z1zlib1g:i386,libc6-i 386,lib32stdc++6lib32gcc1lib32ncurses5 (?)正如其他zlib问题所建议的。

whereis libz.so给出了/usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libz.so,所以我认为这个库实际上已经安装好了。

通过去掉所有的TH代码,我得到了一个精简的wai应用程序静态工作版本,但我无法在不破坏整个包的情况下从websockets中提取它。

有没有人找到一种方法来安装这些库,最好是使用Nix,但在这一点上,我可以做到这一点。我已经尝试了三天来获得一个工作的构建,并且浪费了我整个星期的时间,没有写我自己的代码一行。在这一点上,我会采取一切有效的措施。

有人要求提供使用的命令行。这是由阴谋集团产生的:

代码语言:javascript
复制
/home/jfmiller28/.nix-profile/bin/ghc --make -fbuilding-cabal-package -O -static -dynamic-too -dynosuf dyn_o -dynhisuf dyn_hi -outputdir dist/build -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -i. -idist/build/autogen -idist/build/global-autogen -Idist/build/autogen -Idist/build/global-autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -this-unit-id wai-app-static-3.1.6.2-LkSB3kK5rpLKV2jrN2AtNR -hide-all-packages -Wmissing-home-modules -package-db dist/package.conf.inplace -package-id base-4.10.0.0 -package-id wai-3.2.1.2-i068T7XVUlLxs3fKcREfc -package-id bytestring-0.10.8.2 -package-id http-types-0.12.1-2xWgExX0qOl7yKh7LxUBE2 -package-id transformers-0.5.2.0 -package-id unix-compat-0.5.1-1iiashTJMVo4Z2Bo2H1Lus -package-id directory-1.3.0.2 -package-id containers-0.5.10.2 -package-id time-1.8.0.2 -package-id old-locale-1.0.0.7-7dfSJrRIye3EgzsPnyvNPA -package-id file-embed-0.0.11-8MbWlMh1peh6Y3L9VmTvZW -package-id text-1.2.3.0-1kNDH38DjPO1AsUcP35BNj -package-id cryptonite-0.25-GXzdjgRkEVOKY7fpyz8xaf -package-id memory-0.14.16-5MukHHE9BjI5qglqVrRBGo -package-id http-date-0.0.8-CG5y9eYkeUn6wOfbHom4pU -package-id blaze-html-0.9.1.1-CsJ11WXjlLxBrTMbayeoQA -package-id blaze-markup-0.8.2.1-I4KSuVAN6lL9BOh5kJrkji -package-id mime-types-0.1.0.8-2EwGkNBk8W7Io9sTyOvZ5e -package-id unordered-containers-0.2.9.0-EAgi4LFNl39D8BgT0rhlvy -package-id template-haskell-2.12.0.0 -package-id zlib-0.6.2-KD4SSz9PUL57YfOUBW0y3t -package-id filepath-1.4.1.2 -package-id wai-extra-3.0.24.2-18RlcgWRZiDEaepZgYOTPU -package-id optparse-applicative-0.12.1.0-9EJm9hUjsSHG4weMNInJgv -package-id warp-3.2.23-590EqUmbUTP1AQ3mjwuKbZ -XHaskell98 -XCPP Network.Wai.Application.Static WaiAppStatic.Storage.Filesystem WaiAppStatic.Storage.Embedded WaiAppStatic.Listing WaiAppStatic.Types WaiAppStatic.CmdLine Util WaiAppStatic.Storage.Embedded.Runtime WaiAppStatic.Storage.Embedded.TH -Wall
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 01:31:26

我感觉到你的痛苦。

您可能已经尝试过这些,但以下是一些随机的想法:

  • 确保符号链接/usr/lib/x86_64-linux-gnu/libz.so仍然有一个有效的目标。
  • 在命令行中添加"-L /usr/lib/x86_64-linux-gnu“。
  • 尝试在链接器命令行(3.html)中使用3.html,尽管它可能没有帮助。
  • 确保编译器体系结构确实是x86_64-linux-gnu (gcc -print-multiarch)。

如果我再想一想,我会回来的。:-)

如果您可以逐字发布gcc命令行,它可能(或可能不会)有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52031292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档