繁体   English   中英

libpng未在Mac OSX 10.9.2上链接

[英]libpng not linked on Mac OSX 10.9.2

我在我的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

那些步骤解决了我的问题:

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

您的新版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没有任何错误。

建议的未来方法:

为了防止将来出现链接问题,您可能需要使用自制程序或macports之类的包管理器。 如果你正在使用(或想要使用) 自制软件 ,它有circos和lib2png( 但不是matrix2png,对不起 !)。 安装brew后,在终端中键入以下内容:

brew install libpng

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

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

我的经验(我过去几周一直在处理很多版本冲突)是包管理员让生活变得更轻松。 偶尔我不得不删除并重新安装软件包来修复版本问题,但一般来说,brew会保持整洁和有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM