1. はじめに
El Capitanにアップグレードしたマシンでportコマンドを実行すると,$ ~ takeshi$ sudo port -d selfupdate Password: Error: Current platform "darwin 15" does not match expected platform "darwin 14" Error: If you upgraded your OS, please follow the migration instructions: https://trac.macports.org/wiki/Migration OS platform mismatchのようにエラーが出る。エラーメッセージにあるように,Migrationに従って入れ直す必要がある。
ただし,各パッケージのバイナリをビルドするサーバ(buildbot)が稼働していないので,バイナリはまだ提供されていない。選択肢は3つ。
- 充分時間をとって,ソースからコンパイルする。コンパイルに問題があるパッケージは,ElCapitanProblemsに掲載され始めている。掲載されていないものの中にもうまくいかないものがあるかもしれない。
- YosemiteでインストールしたMacPortsをそのまま使い続ける。ほとんどはそのまま動くはずだ。ただし,OSのライブラリに動的にリンクされているものがあれば,ライブラリのバージョンが変わったり,ライブラリが無くなったりすると,動作しない可能性もある。portコマンドはOSのバージョンが違うとエラーを出すようになっているので,port treeの更新も新しいパッケージの導入もできない。
- El Capitanへのアップグレードをもう少し後にする。El Capitanにアップグレードすると,動かなくなるソフトウェアが出て仕事にならなくなる可能性がある。メインのマシンのEl Capitanへのアップグレードは慎重に検討してからの方がよい。
2. 準備
El Capitanの登場に合わせて,MacPorts 2.3.4がリリースされた。既にEl Capitan用のpkgインストーラがInstallationページに用意されているが,ここではsvnからrelease 2.3.4を取得してソースからコンパイルする。Installationページに説明されているように,XcodeをApp Storeから取得してライセンスを読んで,agree(とタイプする)しておく必要がある。$ sudo xcodebuild -licenseXcode Betaを試したりして,複数のXcodeがある場合は,
$ sudo xcode-select -print-pathで確認し,必要に応じて
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developerなどとする。
3. 入れ直し
3.1 MacPorts 2.3.4のインストール
MacPorts関連のファイルはホームの~/MacPortsに入れているので,そこに移動して作業開始。$ cd ~/MacPortssvnでリリース2.3.4を取得し,コンパイルの後,インストール。
$ svn co https://svn.macports.org/repository/macports/tags/release_2_3_4/base/ base_2_3_4 $ cd base_2_3_4 $./configure && make sudo make installこれでportコマンドが動作するようになった。MacPortsとport treeを更新。
sudo port -d self update
3.2 入れ直し作業
後はMigrationに従って作業する。まずはインストールされているものの一覧を書き出す。$ port -qv installed > myports_yosemite.txtユーザがリクエストした(明示的にインストールを指示した)portの一覧を書き出す。
$ port echo requested | cut -d ' ' -f 1 > requested_yosemite.txtインストールされているportを全てuninstallする。
$ sudo port -f uninstall installed念のためビルドの残骸を削除する。
$ sudo rm -rf /opt/local/var/macports/build/*インストールされていたportを復元するTclスクリプトをダウンロードする。ここでは~/MacPorts/binに格納している。
$ cd bin $ curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl $ chmod +x restore_ports.tcl $ cd .. $ sudo bin/restore_ports.tcl myports_yosemite.txtリクエストの状態を復元する。
$ sudo port unsetrequested installed $ xargs sudo port setrequested < requested_yosemite.txtjason より:
2015年12月16日 5:06 PM
非常に助かりました。今は、Migrationをしている最中….
ピンバック: [【Mac OSX】El CapitanでMacPortsをインストール | ](http://atomicbox.tank.jp/developer/1226/) |
「OS X El CapitanにアップグレードしたのでMacPortsを入れ直し」への2件のフィードバック
jason より:
2015年12月16日 5:06 PM非常に助かりました。今は、Migrationをしている最中….
0 件のコメント:
コメントを投稿