Microchip Libraries for Application (MLA)をEl Capitanにインストールしようとするとエラーで終了してしまいます。
El Capitanの新機能「SIP」
MacOSX El Capitanから「SIP」という機能が追加されました。System Integrity Protection、通称Rootlessと呼ばれているようです。
MacOSXはここ数年、OSのセキュリティを強化してきています。このRootlessはその一環で、システムの重要なファイルを保存するフォルダのアクセスを禁止しています。
Yosemiteまでであれば、root権限を持てば、どこのディレクトリでも書き込みできたのですが、El Capitanからはroot権限があっても
/System/
/bin/
/usr/
/sbin/
のディレクトリには書き込みできなくなりました。”Rootless”というのは、直訳すると「rootなし」という感じですが、意味としては、rootが必要ないシステム、という意味合いのようです。
でもroot権限で何かしたいことってまだありそうな。。。
Microchip Libraries for Applications
Microchip Libraries for Applications(MLA)は、インストールの際に
/usr/lib/
ディレクトリに “java” ディレクトリを作成し、そこにファイルを書き込みするようです。しかしRootlessの機能により書き込みできないので、インストールが途中で失敗します。それまでのファイルはコピーされるようです。
Rootlessの無効化
Rootlessは無効にできるようですが、システム方針として無効化しているので、今後アプリケーションはこの方針に合わせるしかないですよね。
Rootlessの無効化の方法は以下のサイトにまとまっていました。
OS X 10.11 El Capitanのシステム保護機能「Rootless」を無効にするcsrutilコマンドの使い方。
ただ、このあたりはMicrochipさん側で何か対策して欲しいところです。
肝心のMLAですが、とりあえずほとんどのライブラリはコピーされているようでした。自分が一番使うUSBライブラリも無事コピーされていました。動作確認してませんが。。。
ちょっと面倒ですが、command+Rで立ち上げて一度SIPを無効化、その後MLAインストール、またSIPを有効化するしかないですかね。。。