読者です 読者をやめる 読者になる 読者になる

Mac OS X & Homebrewでcairoのインストール

node.js mac

node-canvasをインストールするために、依存するcairobrewで入れようとしたらなんかエラー。

$ brew install cairo
...
ld: lto: could not merge in .libs/cairo-analysis-surface.o because Unknown instruction for architecture x86_64
collect2: ld returned 1 exit status
make[3]: *** [libcairo.la] Error 1
make[2]: *** [install] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2
==> Exit Status: 2
http://github.com/mxcl/homebrew/blob/master/Library/Formula/cairo.rb#L20
==> Environment
HOMEBREW_VERSION: 0.8
HEAD: 2cd086421ee5b01e3684a938795d4d8c12979db7
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_REPOSITORY: /usr/local
HOMEBREW_LIBRARY_PATH: /usr/local/Library/Homebrew
Hardware: quad-core 64-bit sandybridge
OS X: 10.7.2
Kernel Architecture: x86_64
Ruby: 1.8.7-249
/usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
Xcode: 4.2.1
GCC-4.0: build 5494
GCC-4.2: build 5666
LLVM: build 2336
Clang: 3.0-211.1
MacPorts or Fink? false
X11 installed? true
==> Build Flags
CC: /usr/bin/llvm-gcc => /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2
CXX: /usr/bin/llvm-g++ => /usr/llvm-gcc-4.2/bin/llvm-g++-4.2
LD: /usr/bin/llvm-gcc => /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2
CFLAGS: -O3 -march=core2 -w -pipe
CXXFLAGS: -O3 -march=core2 -w -pipe
MAKEFLAGS: -j4

Error: Failed executing: make install 
These existing issues may help you:
    https://github.com/mxcl/homebrew/issues/7658
    https://github.com/mxcl/homebrew/issues/8144
    https://github.com/mxcl/homebrew/issues/9180
Otherwise, please report the bug:
    https://github.com/mxcl/homebrew/wiki/checklist-before-filing-a-new-issue

提示されたURLはどうも的外れっぽい。
なんかLLVMが怪しいので、gccでコンパイルしたらあっさり通りました。

$ brew install cairo --use-gcc

もう、ソースからビルドしろよって感じですね。
node-canvasのビルドマニュアルが超親切です。