びぃえるくぅと。

ガラケーは打楽器。

Case-sensitive な macOS 上で Cinder のビルドにコケた話

ご無沙汰しております。

最近 macOS 10.12 をクリーンインストールする機会があり、もちろん SSD も綺麗にフォーマットしたわけですが、 今まで見落としていたのか「Case-sensitive」(日本語: 大文字/小文字を区別) というものに興味を惹かれて有効にしてみました。

そしたらまさかの Adobe ソフトがインストールできないとまぁ大笑いだったわけですが。

「大文字と小文字が区別されるドライブへのインストールはサポートされていません」エラー

MacIllustrator が使えないのは辛いですね・・・。

Cinder のビルドができない

openFrameworks のライバル(?) である Cinder というものがあり、 公式サイトから既にビルド済みのパッケージをダウンロードすることができますが、 Github 上のリポジトリからソースコードをクローンしてきて CMake でビルドすることもできます。

GitHub - cinder/Cinder: Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.

ところがいざビルドしようとすると、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 ディレクトリを見てみましょう。

f:id:yadex205:20171020131849p:plain

なんと TwOpenG"""L""".cpp という名前で存在しています。

おそらく開発陣が CMake ファイルを作られた時に TwOpenG"""l""".cpp と誤植 (と言えるのか) してしまったのかと思われますが、 普通の macOS なら Case-Insensitive (大文字/小文字を区別しない) 環境で動かしていると思いますし、 ビルドに失敗することもなかったのでしょう。実際僕も以前ビルドした時にはこんな問題は起こらなかったです。

Issue を書き込みました。

ぶっちゃけこれが言いたかっただけなのですが、この件は一応 Issue を投げました。

CMake says "Cannot find source file" on macOS with Case-sensitive filesystem · Issue #1920 · cinder/Cinder · GitHub

まぁファイル中の 1文字を直すだけなので、手元にクローンしたやつを書き換えるだけでとりあえず対応はできていますけどね。

まとめ

Case-sensitive なディスク上で macOS を動かすとたまに不便になります。

話が逸れますが、Docker for Mac で 大文字小文字の区別関連で苦労されてる方もいらっしゃるようですね。

qiita.com

こちらは Case-sensitive な方が良いというパターンですので、一概に Case-sensitive はダメ、とも言い切れないですね。

告知など

いつも通りの唐突な告知です。以下のイベントで VJ で出演いたします。

#アジア二 第4期

twipla.jp

GOTTA VISION

GOTTA VISION VOL.5

また、この度 VJチーム SabaLeoN に所属することになりましたので、 SabaLeoN メンバーとしても各所に VJ しに行きます。

何卒よろしくお願いいたします。

Copyright © 2015 Yadex205