Osx

如何滿足所需的依賴關係以便在 Mac OS X 上安裝 expect pecl 擴展?

  • April 9, 2012

我正在嘗試安裝 expect pecl 擴展。

作業系統版本 = 10.7.3

PHP 版本 5.3.10 通過 macports 安裝

期望版本 5.45 通過 macports 安裝

我正在執行的命令:

sudo pecl -d preferred_state=beta install expect

失敗了ld: library not found for -lexpect

libexpect5.45.dylib文件位於/opt/local/lib. 安裝命令的完整輸出在這裡

據我所知,pecl 找不到 libexpect 庫,我什至嘗試預先添加:

LD_LIBRARY_PATH=/opt/local/lib/expect5.45
LD_LIBRARY_PATH=/System/Library/Tcl/8.5/expect5.45
LD_LIBRARY_PATH=/opt/local/lib

每個位置都有一個expect5.45.dylib文件。它沒有幫助。誰能幫我弄清楚如何安裝此擴展程序?

好的,多虧了@geekosaur 的一些故障排除和見解,至少在我的設置中,答案是“pecl 沒有生成正確的 libtool 腳本來在 MacOSX 上安裝這個擴展”。我非常感謝討論和故障排除。當然,我的下一個問題是:“如何修復 pecl 安裝腳本?” 但那是另一塊板…… :)

LD_LIBRARY_PATH在 OS X 上不使用,並且等效的環境變數不會影響ld(並且可能會破壞其他東西,因為與 Linux 不同,它是整個庫路徑,這意味著libSystem.dylib不再找到類似的關鍵庫;另一方面,sudo清理它的環境,所以無論如何它都行不通)。此外,該庫名稱將不匹配-lexpect

對於它的價值,port contents expect在我的 Lion 系統上顯示了一個/opt/local/lib/libexpect.a靜態庫(和libexpect5.45.a)但沒有 dylib。你確定它安裝正確嗎?檢查 的輸出port contents expect

引用自:https://unix.stackexchange.com/questions/35837