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

情弱ログ

参考にならないので当てにしないでください

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+

で解決。