macport ユーザーが Yosemite から El Capitan に移行した
Mac port を使っているのだが、Mac を El Capitan にアップグレードしてみた
El Capitan をダウンロード
App Store で El Capitan をダウンロード
6GBくらいなので時間がかかる。
El Capitan のインストール
インストーラーが起動していたので、そのままインストールさせて放置した。
macport
macport を更新しようとすると、OS かわっているからダメといわれる。移行(Migration)しろとのこと。
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
while executing
"mportinit ui_options global_options global_variations"
Error: /opt/local/bin/port: Failed to initialize MacPorts, OS platform mismatch
Migration の 説明を読む
https://trac.macports.org/wiki/Migration をてきとうに実施した。optionalの項目はとばした。
- Xcode の最新をいれる、command line toolsもいれる。
- MacPorts base の最新をいれる。https://www.macports.org/install.php の El Capitanのところから pkg を落していれる。
- インストールしている port 書き出し
port -qv installed > myports.txt
- 全部の port をアンインストール
sudo port -f uninstall installed
- 掃除
sudo rm -rf /opt/local/var/macports/build/*
- 書き出した port のリストから インストールする。
curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl chmod +x restore_ports.tcl sudo ./restore_ports.tcl myports.txt
Clozure CL 1.10 の対応
Clozure CL の subversion からダウンロードしてもカーネルをリビルドするときにエラー発生するのでmacport だけの問題ではない。ここでClozure CLのHPをみると、irc でサポートしてくれるかもみたいに書いてあったので質問したらうまくいった。 #ccl irc.freenode.net で rme に感謝しましょう。
You can add "-Q" to ASFLAGS in lisp-kernel/darwinx8664/Makefile and that will enable you to compile the lisp kernel. Or, you can switch to the 1.11 pre-release branch. http://ccl.clozure.com/blog/?p=178 In 10.11, the default assembler is the clang integrated assembler, and it doesn't understand .stabs directives. The -Q flag makes it use the prior, separate assembler.
(fu7mu4解釈)
lisp-kernel/darwinx8664/Makefile の ASFLAGS に -Q を追加すると、lisp kernel をビルドできる。または、CCL 1.11 pre-release ブランチを使用する。Mac OS 10.11(El Capitan) ではデフォルトのアセンブラが clang の統合アセンブラになっている。これは .stub ディレクティブを理解しない。 -Qフラグで対応できる。
lisp-kernel/darwinx8664/Makefile は "the ccl directory" にある。macportではここ。
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_ccl/ccl/work/ccl/lisp-kernel/darwinx8664/Makefile
とりあえず、original の CCL 1.10 ではカーネルのリビルドがとおるようになった。
macport の流儀はよくわからないので、オリジナルのccl を使用する。