Problem Hotlist †1. Fetch の失敗 - readline およびその他の port にて †MacPorts が ftp 経由で fetch をおこなう際には、まず "EPSV" コマンドにてパッシブモードでサーバと通信しようと試みます。 それがうまくいかなければ、"PASV" コマンドを試みます。 ftp.cwru.edu、およびその他のサーバでは、"EPSV" コマンドのリクエスト後にコネクションが切断されてしまうため、 "PASV" コマンドを試みることが出来ず、fetch に失敗してしまいます。#10832. MacPorts の将来のリリースでは、この問題に対処するためのオプションを追加することが考慮されています。
また現状において、firewall の内側で利用した場合に、多くの ports が同様に fetch に失敗します。
唯一の解決策は、ブラウザや FTP クライアントを使ってファイルをダウンロードし、
それを 注意: fetch 後のチェックサムが失敗する場合、おそらくそれはまた別の問題だと考えられます。FAQ を参照してください。 2. libintl3.dylib に関するメッセージが表示され、port のビルド・アップグレード・実行ができない †dyld: Library not loaded: /opt/local/lib/libintl.3.dylib 最近、gettext の port が 0.14.x から 0.15.x にアップデートされました。 gettext を 0.15.x にアップデートした場合、 gettext に依存する ports を全てリビルドしなければなりません。 インストールした ports のうち、gettext に依存するものを調べあげるスクリプトを以下に示します。 #!/bin/bash
if test -z "$1"; then
echo "usage: $0 <libname>"
exit 1
fi
for file in `find /opt/local/lib -name *.dylib; find /opt/local/bin`; do
# Skip this match if it's a symbolic link
if test -f $file -a ! -L $file; then
# Look for references to the missing library
otool -L $file | grep --silent $1
if test "$?" = "0"; then
port provides `echo $file`
fi
fi
# Grab the name of the port and make sure to list each port just once
done | awk -F: ' { print $2 } ' | sort | uniq
このスクリプトをコピーしてテキストエディタに貼り付け、depsearch.sh といった名前でセーブしてください。その後、検索したいライブラリ名を指定してターミナル上で実行させます。 今回は gettext に依存する ports を検索したいので、"libintl" ライブラリを探すようにします。デスクトップにスクリプトをセーブした場合には、次のようにして走らせてください。 bash ~/Desktop/depsearch.sh libintl これで修正の必要がある ports のリストが得られますので、 そのそれぞれの ports について、強制アンインストールおよびアーカイブの削除をおこなってください。 port uninstall -f <port> port clean --archive <port> これが終われば、それぞれについて強制インストールをおこなってください。 port install -f <port> インストール済み port の、古くアクティブでないバージョンのものが存在する場合には、 まず旧バージョンを取り除く必要があります。以下の方法で旧バージョンを全て削除できます。 port -duf uninstall |