【发布时间】: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