gpt4 book ai didi

ubuntu - 如何将 GraphicsMagick 与应用程序捆绑在一起?

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:29 25 4
gpt4 key购买 nike

我想将独立版本的 GraphicsMagick gm 二进制文件与应用程序捆绑在一起,这样我就不必在应用程序应该构建和安装 GraphicsMagick 库的服务器上跑。

详情

我正在创建一个构建系统,它可以生成一个包含整个 node.js 应用程序的 tar-ball,包括所有二进制依赖项(在我们的例子中是 node 二进制文件和 GraphicsMagick 库)。然后它将其上传到服务器,提取并运行它。

我试着用预编译的 gm 二进制文件发送它,但正如预期的那样 gm 依赖于几个库,所以我得到了像 这样的错误gm:加载共享库时出错:libGraphicsMagick.so.3:无法打开共享对象文件:没有这样的文件或目录

我在本地运行 OSX,我们的服务器运行 Ubuntu。

最佳答案

一种解决方案是从源代码构建 GraphicsMagick 并使用选项 --disable-shared --disable-installed 进行配置。这将生成一个静态可重定位可执行文件,它只依赖于系统上已有的共享库。通过“make DESTDIR=/tmp/gminstalldir install”之类的方式安装到临时目录中进行打包。您还需要评估哪些库在目标操作系统上作为标准可用(因此可以依赖它们)并添加配置选项以禁用那些不确定可用的库,或者链接到库的静态版本所以它包含在“gm”二进制文件中。

另一个解决方案是获取现有的“gm”二进制文件并创建一个 shell 脚本包装器,它设置某些环境变量(例如 LD_LIBRARY_PATH),以便它仍然可以运行。这种方法会增加一些运行时开销,并且需要反复试验才能使其正常工作。

关于ubuntu - 如何将 GraphicsMagick 与应用程序捆绑在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15640149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com