expect pecl 拡張機能をインストールしようとしています。
OS バージョン = 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
ファイルがあります。役に立ちませんでした。この拡張機能をインストールする方法を教えてくれる人はいますか?
答え1
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
。
答え2
わかりました。@geekosaur からのトラブルシューティングと洞察のおかげで、少なくとも私のセットアップでは、答えは「pecl は MacOSX にこの拡張機能をインストールするための正しい libtool スクリプトを生成していません」です。議論とトラブルシューティングに本当に感謝しています。もちろん、次の質問は「pecl インストール スクリプトを修正するにはどうすればよいですか?」になりますが、それは別の掲示板で... :)