MacPortをx86_64環境にする
前回の続き
作業環境
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
sudo port selfupdate
sudo port install rtmpdump
sudo port install ffmpeg
エラー発生
- しかし、ffmpegインストール中にエラーが発生。
---> Computing dependencies for pkgconfig ---> Fetching pkgconfig ---> Verifying checksum(s) for pkgconfig ---> Extracting pkgconfig ---> Applying patches to pkgconfig ---> Configuring pkgconfig ---> Building pkgconfig ---> Staging pkgconfig into destroot ---> Computing dependencies for pkgconfig ---> Installing pkgconfig @0.25_1 ---> Deactivating pkgconfig @0.23_1 ---> Activating pkgconfig @0.25_1 ---> Cleaning pkgconfig Portfile changed since last build; discarding previous state. ---> Computing dependencies for gettext ---> Fetching gettext ---> Attempting to fetch gettext-0.18.1.1.tar.gz from ftp://ftp.dti.ad.jp/pub/GNU/gettext ---> Verifying checksum(s) for gettext ---> Extracting gettext ---> Applying patches to gettext ---> Configuring gettext Error: You cannot install gettext for the architecture(s) x86_64 because Error: its dependency expat only contains the architecture(s) i386. Error: Error: Did you upgrade to a new version of Mac OS X? If so, please see Error: Error: http://trac.macports.org/wiki/Migration Error: Error: Target org.macports.configure returned: incompatible architectures in dependencies Log for gettext is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gettext/main.log Error: Unable to upgrade port: 1 Error: Unable to execute port: upgrade gmake failed To report a bug, see <http://guide.macports.org/#project.tickets>
再インストール
上記ページの手順どおりやってみた
- MacPortでインストールされたソフトウェアの一覧をmyports.txtに書出し。
- MacPort管理のソフトウェアをすべてアンインストール。
- 未完了のビルドファイル等もすべて削除。
port installed > myports.txt
sudo port -f uninstall installed
sudo port clean --work --archive all
- その後、myports.txtを見て、必要なソフトウェアを再インストールすれば良さそう。
- しかし、すべてを手作業で再インストールするとなると、相当面倒だ。(100ファイル以上あった)
- その面倒を見越して、myports.txtを元に、自動で再インストールしてくれるスクリプトが公開されていた。
curl -O http://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
chmod +x restore_ports.tcl
sudo ./restore_ports.tcl myports.txt
- 上記のコマンドを実行すると、早速myports.txtに書かれたソフトウェアの再インストールが始まった。
- MacBookの冷却ファンが回って唸り出す。
- すべて完了するのに3、4時間かかっただろうか。
完了
- 再度ffmpegをインストールをチャレンジしてみると、呆気なく完了した。
sudo port install ffmpeg
---> Computing dependencies for ffmpeg ---> Fetching ffmpeg ---> Verifying checksum(s) for ffmpeg ---> Extracting ffmpeg ---> Applying patches to ffmpeg ---> Configuring ffmpeg ---> Building ffmpeg ---> Staging ffmpeg into destroot ---> Installing ffmpeg @0.6_2 ---> Activating ffmpeg @0.6_2 ******* ******* This build of ffmpeg includes nonfree code as follows: ******* ******* libfaac ******* ******* The following libraries and binaries may not be redistributed: ******* ******* ffmpeg ******* libavcodec ******* libavdevice ******* libavfilter ******* libavformat ******* libavutil ******* ******* To remove this restriction use variant +no_nonfree ******* ---> Cleaning ffmpeg
ちょっと遅過ぎる(1年後)、MacPortのSnow Leopard対応が完了した!