yosemite上のGentoo/Prefixでx11-libs/gtk+のemergeがコケる
さっきの記事と似たような内容
とりあえずそのままemergeするとこんな感じのエラーが大量に出てコケる。
In file included from /System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:207, from /Users/vicco/Gentoo/var/tmp/portage/x11-libs/gtk+-3.14.8/work/gtk+-3.14.8/gdk/quartz/gdkquartz.h:23, from /Users/vicco/Gentoo/var/tmp/portage/x11-libs/gtk+-3.14.8/work/gtk+-3.14.8/gdk/quartz/gdkprivate-quartz.h:26, from /Users/vicco/Gentoo/var/tmp/portage/x11-libs/gtk+-3.14.8/work/gtk+-3.14.8/gdk/quartz/gdkcursor-quartz.c:25: /System/Library/Frameworks/AppKit.framework/Headers/NSCollectionView.h:114: error: expected a property attribute before 'strong'
原因はさっきの記事と同じでgccでコンパイルするとよく分からないヘッダファイルで構文エラーが出るため。とりあえずclangでコンパイルするために
% CC=clang CXX=clang++ emerge gtk+
する。
けれども今度は
checking for GLIB - version >= 2.41.2... no *** Could not run GLIB test program, checking why... *** The test program failed to compile or link. See the file config.log for the *** exact error that occured. This usually means GLIB is incorrectly installed. configure: error: *** GLIB 2.41.2 or better is required. The latest version of *** GLIB is always available from ftp://ftp.gtk.org/pub/gtk/.
こんなエラーが出てきてconfigure phaseでコケる。
emerge -s glib(当然eixでも良い)すると
* dev-libs/glib Latest version available: 2.42.1 Latest version installed: 2.42.1 Size of files: 8,708 KiB Homepage: http://www.gtk.org/ Description: The GLib library of C routines License: LGPL-2+
になっているため、間違いなくGLIBのバージョンは2.41.2より高い。
原因としては-lintlというリンカオプションでライブラリが見つからずにコケているようなので、とりあえずgettextをemergeして(すでにあるなら不要)
% emerge gettext % LDFLAGS=-L/Users/vicco/Gentoo/usr/lib CPPFLAGS=-I/Users/vicco/Gentoo/usr/include CC=clang CXX=clang++ emerge gtk+
で解決。