【问题标题】:libgif.so: cannot open shared object file: No such file or directorylibgif.so:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2017-12-29 08:45:45
【问题描述】:

我在 Docker 中运行的 Lapis Web 应用程序中加载 giflib ffi 模块 (https://github.com/leafo/giflib) 时遇到问题。

这里是相关信息:https://hastebin.com/ojodidodoj.nginx

似乎可以找到libgif.so,因为没有Lua模块搜索输出,但它说找不到libgif.so,所以我对这个错误很困惑,除非我误解了这里的输出?

编辑:这里是 Dockerfile:https://hastebin.com/inezemogux.rb

【问题讨论】:

  • 你的图片是基于 Alpine 的吗?您可以发布 Dockerfile 以便我们在需要时进行重建吗? - 现在一个疯狂的猜测:我已经看到与需要libc 的 python 库类似的东西。 Alipne 使用musc,这有时会导致链接问题,因此无法加载某些.so 文件。如果是这样你可以试试hub.docker.com/r/frolvlad/alpine-glibc
  • 我用的是centos,不是alpine。我还手动构建了 giflib。我会将 dockerfile 添加到 OP。
  • 好的,给我们看一下 Dockerfile,我们从那里拿走。当 .so 具有未定义的符号时,可能会出现相同的错误消息,这可能是由错误的 LD_LIBRARY_PATH 和/或缺少依赖项引起的。可能值得在 .so 上执行 ldd 加载失败..
  • Dockerfile 在 OP 中。
  • 下面是做ldd的结果:hastebin.com/cereludiya.rb

标签: docker lua docker-compose luajit


【解决方案1】:

我最终不得不执行ldconfig 来更新库缓存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-12
    • 2018-11-26
    • 2019-11-27
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多