libpng 未在 Mac OSX 10.9.2 上链接

Posted

技术标签:

【中文标题】libpng 未在 Mac OSX 10.9.2 上链接【英文标题】:libpng not linked on Mac OSX 10.9.2 【发布时间】:2014-05-12 12:24:07 【问题描述】:

我在我的 Mac 上安装了 matrix2png,并且在上周安装另一个图像处理工具“circos”之前使用它没有问题。 Circos 要求我安装不同版本的 libpng,我做到了。之后,我不再能够运行 matrix2png,这给了我以下错误。我认为旧的 ligpnb 不再链接。有谁知道如何解决这个错误? - 感谢您的帮助。

dyld: Library not loaded: /usr/local/lib/libpng15.15.dylib
  Referenced from: /usr/local/bin/matrix2png
  Reason: image not found

【问题讨论】:

【参考方案1】:

这一步解决了我的问题:

brew versions libpng

你会看到一些版本的 libpng,但不幸的是不是 1.5.15,所以接下来你应该安装 1.5.18。

git checkout 7bec702 Library/Formula/libpng.rb
brew install libpng

您会发现版本 1.5.18 和其他一些版本。

ln -s /usr/local/Cellar/libpng/1.5.18/lib/libpng15.15.dylib /usr/local/lib/libpng15.15.dylib`

见https://github.com/Homebrew/homebrew-php/issues/1055

有关安装某些版本的 brew 公式的更多信息,请访问https://coderwall.com/p/lqphzg。

【讨论】:

brew versions 是未知命令,但是在/usr/local/Cellar/ 位置进行了一些检查,我发现了冲突的版本,我通过执行第 3 步成功解决了问题,非常有帮助!【参考方案2】:

您的新版本 libpng 可能已更改其 dyld 文件的名称。这通常发生在升级中(尤其是在主要版本之后)。要验证这一点,请打开终端并输入:

ls /usr/local/lib/libpng*

你看到了什么?

根据您的错误消息,我们知道 matrix2png 正在寻找 libpng15,但如果您在安装 circos 时已升级,那么您的系统上可能现在有 libpng16。因此,matrix2png 将无法找到它正在寻找的文件并且会不高兴。

这次修复它:

尝试重新安装 matrix2png 并查看它是否注意到依赖问题并为您修复它。您真的不想降级 libpng,也不想在您的系统上拥有它的两个版本,因此拥有一个最新版本的 matrix2png 会很好。

看起来matrix2png 来自 C 源代码,因此您需要重新构建它。下载源代码或然后打开终端。导航到包含源代码的文件夹并运行configure,然后运行make。 Configure 将为您的系统生成一个 Makefile,然后 make 将使用该文件生成一个新的二进制文件。我已经在我的 Mac(使用 libpng16)上对此进行了测试,发现 matrix2png 构建时没有任何错误。

建议的未来方法:

为防止将来出现链接问题,您可能需要使用包管理器,例如 homebrew 或 macports。如果您正在使用(或想要使用)homebrew,它有 circos 和 lib2png(但不是 matrix2png,抱歉!)。安装 brew 后,在终端中输入以下内容:

brew install libpng

它应该检测链接问题/版本冲突并指导您修复它们。 Brew 将所有文件放在 /usr/local/Cellar 的“地窖”位置,然后将它们符号链接到您的系统中。

如果您已经在使用 brew,请尝试 brew doctor 并按照说明解决问题。

我的经验(过去几周我一直在处理很多版本冲突)是包管理器让生活变得更轻松。有时我不得不删除并重新安装软件包以解决版本问题,但总的来说 brew 保持整洁和工作。

【讨论】:

以上是关于libpng 未在 Mac OSX 10.9.2 上链接的主要内容,如果未能解决你的问题,请参考以下文章

mac osx 10.9.2 上的 mysql-python:错误:命令“/usr/bin/clang”失败,退出状态为 1

XAMPP - Apache 未在 Mac OS 上启动

OSX + homebrew + CMake + libpng 版本不匹配问题

mac下安装libpng环境

localStorage 未在 OSX 应用程序中保留(Xcode 4.3)

需要帮助在 mac os x 上安装 python 包 autopy - libpng 和 png.h 的困难