Mac OS X に expect pecl 拡張機能をインストールするために必要な依存関係を満たすにはどうすればよいですか?

Mac OS X に expect pecl 拡張機能をインストールするために必要な依存関係を満たすにはどうすればよいですか?

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 インストール スクリプトを修正するにはどうすればよいですか?」になりますが、それは別の掲示板で... :)

関連情報