如何解决从奇点使用外部程序:找不到库
我有一个程序在 linux 下运行在 Singularity 容器中,该程序应该调用外部程序(不能在容器本身中)。
该命令本身有效并且到达另一个程序,但由于缺少动态库而返回错误。直接从控制台调用同一个程序时,该库不会丢失。
我假设这是因为从容器内部调用时,外部程序仍然仅限于允许容器访问的环境?这是我的第一个问题,诊断错误。
如果是这样,是否有一种方法可以轻松动态地授予容器(读取)访问当前机器的库文件夹(即一切都是 LD_LIBRARY_PATH
)的权限?如果这是通过启动 bash 脚本间接执行容器来完成的,这将是完全可以接受的(由于其他原因,我还是这样做了)。
[如果有人需要一些背景知识,容器内的程序是一个带有一些丑陋依赖项的 GUI,因此在容器内,外部程序是在 GUI 中建模的特定数学问题的求解器。求解器位于容器外部,因为它必须随时可以更换,GUI 允许用户设置求解器的路径。动态库或求解器需要的任何其他东西可以假设在用户的机器上并且显然在 LD_LIBRARY_PATH
中引用,但不假设存储在硬编码到容器配方中的特定路径中。我不想诉诸于将所有必需的库文件与求解器存储在同一文件夹中。]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。