Case-sensitive な macOS 上で Cinder のビルドにコケた話
ご無沙汰しております。
最近 macOS 10.12 をクリーンインストールする機会があり、もちろん SSD も綺麗にフォーマットしたわけですが、 今まで見落としていたのか「Case-sensitive」(日本語: 大文字/小文字を区別) というものに興味を惹かれて有効にしてみました。
そしたらまさかの Adobe ソフトがインストールできないとまぁ大笑いだったわけですが。
「大文字と小文字が区別されるドライブへのインストールはサポートされていません」エラー
Mac で Illustrator が使えないのは辛いですね・・・。
Cinder のビルドができない
openFrameworks のライバル(?) である Cinder というものがあり、 公式サイトから既にビルド済みのパッケージをダウンロードすることができますが、 Github 上のリポジトリからソースコードをクローンしてきて CMake でビルドすることもできます。
ところがいざビルドしようとすると、CMake が以下のようなエラーを吐いて止まってしまいます。
CMake Error at proj/cmake/libcinder_target.cmake:14 (add_library): Cannot find source file: path-to-libcinder/src/AntTweakBar/TwOpenGl.cpp Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
src/AntTweakBar/TwOpenGl.app
が見つからないって言っていますね。
では src/AntTweakBar
ディレクトリを見てみましょう。
なんと TwOpenG"""L""".cpp
という名前で存在しています。
おそらく開発陣が CMake ファイルを作られた時に TwOpenG"""l""".cpp
と誤植 (と言えるのか) してしまったのかと思われますが、
普通の macOS なら Case-Insensitive (大文字/小文字を区別しない) 環境で動かしていると思いますし、
ビルドに失敗することもなかったのでしょう。実際僕も以前ビルドした時にはこんな問題は起こらなかったです。
Issue を書き込みました。
ぶっちゃけこれが言いたかっただけなのですが、この件は一応 Issue を投げました。
まぁファイル中の 1文字を直すだけなので、手元にクローンしたやつを書き換えるだけでとりあえず対応はできていますけどね。
まとめ
Case-sensitive なディスク上で macOS を動かすとたまに不便になります。
話が逸れますが、Docker for Mac で 大文字小文字の区別関連で苦労されてる方もいらっしゃるようですね。
こちらは Case-sensitive な方が良いというパターンですので、一概に Case-sensitive はダメ、とも言い切れないですね。
告知など
いつも通りの唐突な告知です。以下のイベントで VJ で出演いたします。
#アジア二 第4期
GOTTA VISION
また、この度 VJチーム SabaLeoN に所属することになりましたので、 SabaLeoN メンバーとしても各所に VJ しに行きます。
何卒よろしくお願いいたします。