簡體   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