2月19日、私にとっての入試業務が終わった。さあ、アップデートの季節到来だ。
実は、すでに Catalina → Big Sur はやったことがあるが、 それは購入直後の MacBook の話だったので、 特に何の問題もなかった。
今回は既にバリバリ使っている MacBook. これはおっかなくて、 学期中に OS 更新をする気になれなかった。 待ちに待った春休み、ということになる。 これからやってみよう。
macOS 自体のアップデート (11.2.1 20D75 になった) には何の問題もなかった。
Xcode Version 12.4 (12D4e) はアップデートする必要がないようだった。
次は MacPorts. これは面倒かもしれない。
Migrating MacPorts after a major operating system upgrade or from one computer to another に従って作業するという手もある。
どうしようかな。今日はまっさらにしてからインストールし直ししてみる。
MacPorts のアップデート Installing MacPorts から Big Sur 用のパッケージ MacPorts-2.6.4_1-11-BigSur.pkg を入手する。
ダブルクリックして実行する。
MacBook Pro (13-inch, 2019, Four Thunderbolt 3 ports) でやったところ。 1分程度で終了した。
古いものをお掃除する。
sudo port -fp uninstall installed sudo rm -rf /opt/local |
(ところで、 “Migrating a MacPorts installation” の 2.4. Uninstall によると、 色々なディレクトリィを削除することになっているが、 少なくとも私の場合は、存在しないものが多く、 実際に存在しているのは /opt/local だけであった。)
もう一度 MacPorts-2.6.4_1-11-BigSur.pkg をインストールし直し。
(毎度、古い MacPorts で sudo port -fp uninstall installed をしてみようと思っていて、忘れる (笑)。)
念のため (必要ないみたいだけど)
sudo port selfupdate sudo port upgrade outdated |
では、普段使いの Ports をインストールする。 sudo ls で sudo の空撃ちしてから、いつものコマンドをコピペする。
sudo port -N install gsed sudo port -N install wget sudo port -N install lha sudo port -N install a2ps-j sudo port -N install nkf sudo port -N install lv sudo port -N install jpeg2ps sudo port -N install gnupg2 sudo port -N install gv sudo port -N install ghostscript-fonts-hiragino sudo port -N install xpdf-japanese +autoactivate sudo port -N install kochi-substitute sudo port -N install netpbm sudo port -N install gnuplot sudo port -N install ImageMagick sudo port -N install ffmpeg |
途中で
Warning: The macOS 11.2 SDK does not appear to be installed. Ports may not build correctly. Warning: You can install it as part of the Xcode Command Line Tools package by running `xcode-select --install'. |
% xcode-select --install xcode-select: error: command line tools are already installed, use "Software Update" to install updates |
あれ、jpeg2ps でエラーが。
gv でも (Ghostscript でも)エラーが。
おっと、この Mac には古い Hiragino 入ってないのだった。 じゃあ sudo port -N install ghostscript-fonts-hiragino は無意味だ。 まあ、Ghostscript の段階で引っかかっているので、意味ないけれど。
gnuplot でもエラーになる。あれま。
うーん、ダメダメだ。はてな?こうなると気になるのは、上の警告だ。
Command Line Tools をインストールし直してみるか (今回に限ったことでなく、割と良くあるよね)。
sudo rm -rf /Library/Developer/CommandLineTools xcode-select --install |
これでやり直してみる。相変わらず同じ警告が出るけれど、今度は
sudo port install jpeg2ps |
sudo port -N install install gv sudo port -N install install gnuplot sudo port -N install ImageMagick |
MacPorts の gcc そうだ。gcc もインストールしておこう。 この MacBook は Intel Core i7 だから問題はないはず。
sudo port install gcc10 sudo port select --set gcc mp-gcc10 |
% which gcc /opt/local/bin/gcc % gcc --version gcc (MacPorts gcc10 10.2.0_5) 10.2.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % gcc hello.c % ./a.out hello, world. % file a.out a.out: Mach-O 64-bit executable x86_64 % |
macOS 付属の cc
一応、こちらもやっておくか。
% which cc /usr/bin/cc % cc --version Apple clang version 12.0.0 (clang-1200.0.32.29) Target: arm64-apple-darwin20.3.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin % cc hello.c % ./a.out hello, world. % file a.out a.out: Mach-O 64-bit executable x86_64 % |
こうなるのは Intel Mac だからで、M1 Mac でやると
% file a.out a.out: Mach-O 64-bit executable arm64 % cc -arch x86_64 hello.c % file a.out a.out: Mach-O 64-bit executable x86_64 % |
ちなみに cc 自体を file で調べると
% file /usr/bin/cc /usr/bin/cc: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e] /usr/bin/cc (for architecture x86_64): Mach-O 64-bit executable x86_64 /usr/bin/cc (for architecture arm64e): Mach-O 64-bit executable arm64e % |
つまり、macOS の cc は、ユニバーサル・バイナリーで、 デフォールトで生成される実行形式は、 その Mac の CPU をターゲットとするものであるが、 -arch でターゲットを変更できる。
MacPorts の余計な設定書き込みを直す
あ、そうだ。MacPorts は X11 関係で余計なことをしてくれるのだった。
DISPLAY 環境変数を :0 という文字列にセットする設定を、
勝手に書き込んでくれる。
それは XQuartz にとって不都合なので、コメントアウトする。
無事 xeyes にお目見えした。
実は、この MacPorts 以外は、何も問題が生じていない。 Catalina と比べると、画面の見栄えは変わったけれど、 使い勝手に気になるような違いはない。 正直なところ、拍子抜けしている。 「Big Sur どうですか?」 「あまり変わんないですね。」 -- 正確には、機能アップされたのかもしれないけれど、 とりあえず以前と同じような使い方は出来ます、というべきか。
猛烈にごちゃごちゃしているけれど、 次回別の Mac でアップデートをするときに整理できるであろう。
桂田 祐史