Osx
如何滿足所需的依賴關係以便在 Mac OS X 上安裝 expect pecl 擴展?
我正在嘗試安裝 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
。