凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

Mac OS X で Wine を導入してみたまとめ

はじめに

X11 が不要になったとのことで Wine を入れようと思い「$ brew install wine」してみたのですが、うまく行かず色々試した内容をメモします。
はじめは brew update しておらず古いバージョンの 1.4 を入れてしまい、それを Twitter 呟いたところご指摘を頂き、1.6 を入れ直しました。…という流れになっていてゴチャゴチャしていますが、ご了承下さい m(_ _;)m。

brew で入れる手順(1.4 入れてしまった編)

brew を更新しておらず、はじめは 1.4 を入れてしまってた内容になります…)

まず入れようとすると以下のように怒られます。

$ brew install wine
Error: wine dependency jpeg not installed with:
  --universal

そこで「--universal」フラグ(ユニバーサルバイナリにするフラグ)を付けて入れなおします。

$ brew uninstall jpeg
$ brew install --universal jpeg

同様にまた wine を入れようとして怒られるライブラリを入れます。

$ brew uninstall libtiff
$ brew install --universal libtiff
$ brew uninstall libpng
$ brew install --universal libpng
==> Downloading http://downloads.sf.net/project/libpng/libpng15/1.5.14/libpng-1.

curl: (22) The requested URL returned error: 404
Error: Download failed: http://downloads.sf.net/project/libpng/libpng15/1.5.14/libpng-1.5.14.tar.gz

が、上記のように、libpng だけは現在のバージョン 1.5.14 がユニバーサルバイナリでコンパイルできないので、1個前のバージョンを指定してインストールする必要があります。「$ brew versions libpng」で調べた式を打ち込めば指定したバージョンをインストールしてくれます。

$ brew versions libpng 
1.5.14   git checkout 3655123 /usr/local/Library/Formula/libpng.rb
1.5.13   git checkout 71cf621 /usr/local/Library/Formula/libpng.rb
1.5.12   git checkout 6c498e1 /usr/local/Library/Formula/libpng.rb
1.2.44   git checkout 09c572e /usr/local/Library/Formula/libpng.rb
$ git checkout 71cf621 /usr/local/Library/Formula/libpng.rb
$ brew install --universal libpng

これでもう一度「$ brew install wine」してみます。

$ brew install wine
(中略)
configure: error: FreeType 32-bit development files not found. Fonts will not be built.

また怒られてしまいました。freetype も同様に入れなおします。

$ brew uninstall freetype
$ brew install --universal freetype

で、再度コンパイルしましたが、今度はエラーを吐かずに失敗します。で、次の Warning に気づきました。

Clang currently miscompiles some parts of Wine. If you have gcc, you
can get a more stable build with:
  brew install wine --use-gcc

最初に見ておけよって感じですね…。言われるままに実行します。

$ brew install wine --use-gcc
Error: GCC could not be found

_人人人人人人人人人人人人人人人人_
> Error: GCC could not be found <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

gcc 沢山入ってるのに…。調べると以下のエントリを見つけました。

エントリに従って「--use-llvm」をつけてコンパイルしてみます。

$ brew install wine --use-llvm

どちらにせよ Clang 使っているようですが Apple Clang でなく、通常の Clang を使ってくれている…、のかな?私は以下のコマンドでインストールしてあるので、上手くいかない方は下記コマンドで Clang をインストールして見て下さい。

$ brew install llvm --with-clang

これで上手くインストールできました(1.4 がですが...)。

brew で入れる手順(1.6 入れ直す編)

ありがとうございます (-人-;)。

そのまま「brew update」すると、先ほどバージョンを置き換えた libpng の設定ファイルのせいでエラーが起きるので、以下の手順でもとに戻します。

$ cd /usr/local/Library/Formula
$ git reset --hard FETCH_HEAD

そして update します。

$ brew update
$ brew versions wine
1.6      git checkout 1cef7b3 /usr/local/Library/Formula/wine.rb
1.4.1    git checkout 9bd7d05 /usr/local/Library/Formula/wine.rb
1.4      git checkout 524e42a /usr/local/Library/Formula/wine.rb
1.2.3    git checkout 5400937 /usr/local/Library/Formula/wine.rb
1.2.2    git checkout b782d9d /usr/local/Library/Formula/wine.rb
1.2.1    git checkout 6eaf301 /usr/local/Library/Formula/wine.rb
1.2      git checkout 31f1fab /usr/local/Library/Formula/wine.rb
1.1.44   git checkout 0eb317e /usr/local/Library/Formula/wine.rb
1.1.42   git checkout c5d56bc /usr/local/Library/Formula/wine.rb
1.1.37   git checkout 052d85f /usr/local/Library/Formula/wine.rb
1.1.33   git checkout f73f2b2 /usr/local/Library/Formula/wine.rb
1.1.31   git checkout a82e823 /usr/local/Library/Formula/wine.rb

見えるぞ!私にも 1.6 が見える!
wine を入れ直します。

$ brew install wine
Error: wine dependency libicns not installed with:
  --universal

再度この具合で幾つかのライブラリが見つからないので入れなおしていきます。

$ brew uninstall libicns little-cms libtool
$ brew install --universal libicns little-cms libtool
$ brew install wine

今度は gcc 無いよ!と言われることもなくインストール完了しました。

使ってみる

Unity で Windows 向けにビルドされた Oculus Rift アプリを動かしてみました。


ヘッドトラッキングはされず、Oculus RIft 認識もされていないようで画面も歪曲しない形になってしまっています。また、フォントが見つからないのか文字も描画されていません。どんなゲームかの把握くらいには使えそうです。

おわりに

見切り発車良くないですね。