依存関係が結構あるので備忘録的な感じでメモ
前提
Homebrewがインストールされていること
依存関係のパッケージインストール
brew install gtk+
brew install libsoup
brew install webkit2png←あやしい!なくてもいいんではないか。くわしいひとおしえて
途中のエラーその1
Package xcb-shm was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-shm.pc'
to the PKG_CONFIG_PATH environment variable
→
$ sudo find / -name xcb-shm.pc
【パスが出力】
$ echo "export PKG_CONFIG_PATH= 【さっき出たパス】" >> ~/.zshrc
ターミナル読み込み直し
途中のエラーその2
Package webkit-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `webkit-1.0.pc'
to the PKG_CONFIG_PATH environment variable
これは
$ pkg-config ---libs webkit-1.0
と同じメッセージを吐く
→ディレクトリを検索してもない
Getting WebKit bindings to work with Perl and gkt2 - Stack Overflow
→libwebkitgtk-develをインストール
libwebkitgtk-develをMacにインストール(※)
※やったけど詰んだことも書いてるので、詰み方とかどうでもいいよって人はこの段落を飛ばした方がいいです。
pane
- Oはこの名前でダウンロードするという意味
$ wget -O ige-mac-integration-0.9.8.tar.bz2 http://downloads.sourceforge.net/project/gtk-osx/GTK-OSX%20Build/ige-mac-integration-0.9.8.tar.bz2\?r\=\&ts\=1425859461\&use_mirror\=iweb
$ tar xzvf ige-mac-integration-0.9.8.tar.bz2
$ cd ige-mac-integration-0.9.8
$ ./configure
$ make
makeがはじまる
libtool: link: gcc -D_REENTRANT -I/opt/X11/include/cairo -I/opt/X11/include/pixman-1 -I/opt/X11/include/libpng15 -I/opt/X11/include -I/opt/X11/include/freetype2 -I/usr/local/Cellar/gtk+/2.24.25/include/gtk-2.0 -I/usr/local/Cellar/gtk+/2.24.25/lib/gtk-2.0/include -I/usr/local/Cellar/pango/1.36.8/include/pango-1.0 -I/usr/local/Cellar/atk/2.14.0/include/atk-1.0 -I/usr/local/Cellar/gdk-pixbuf/2.30.8/include/gdk-pixbuf-2.0 -I/usr/local/Cellar/libpng/1.6.16/include/libpng16 -I/usr/local/Cellar/pango/1.36.8/include/pango-1.0 -I/usr/local/Cellar/harfbuzz/0.9.38/include/harfbuzz -I/usr/local/Cellar/pango/1.36.8/include/pango-1.0 -I/usr/local/Cellar/glib/2.42.1/include/glib-2.0 -I/usr/local/Cellar/glib/2.42.1/lib/glib-2.0/include -I/usr/local/opt/gettext/include -g -O2 -o .libs/test-integration test_integration-test-integration.o -L/opt/X11/lib -L/usr/local/Cellar/gtk+/2.24.25/lib -L/usr/local/Cellar/pango/1.36.8/lib -L/usr/local/Cellar/atk/2.14.0/lib -L/usr/local/Cellar/gdk-pixbuf/2.30.8/lib -L/usr/local/Cellar/glib/2.42.1/lib -L/usr/local/opt/gettext/lib ./.libs/libigemacintegration.dylib -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lintl -lfontconfig -lfreetype -lobjc -framework ApplicationServices -framework Carbon
Undefined symbols for architecture x86_64:
"_g_thread_init", referenced from:
_main in test_integration-test-integration.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [test-integration] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
落ちる。なんぞこれ。
リンカがおかしいよと言われる。
ググってもなんかよくわからない。
エラーググっても1件しか出てこない。
とりあえずwebkit-1.0をインストールできればいいので、
放置して違う方法を模索することにする。
(他にもgtk-osx-build-setup.shとかをダウンロードしてたりしてJHBUILDなるものを使っていたりした。でもよくわからない)
Macportsからwebkit-gtkをインストールできるらしいことを知る
ソース:
BuildingGtk – WebKit
このへんから
「あ、Homebrewってとても便利だけど、思っていたほど神がかって便利というわけではないな」
「Macportsは結構すごいやつだったのか」
「Macは変なLinuxだ」
感を味わうようになった。
で、Macportsからうまくwebkit-gtkがインストールできたので
$ sudo find / -name "*webkit*"
で検索すると、
ねんがんのwebkit-1.0.pcがある。
このwebkitのパスはMacのパスなので、
さっきの~/.zshrcの
export PKG_CONFIG_PATH="/opt/X11/lib/pkgconfig"
を、
export PKG_CONFIG_PATH="/opt/X11/lib/pkgconfig:/opt/local/lib/pkgconfig"
こうする。
ふたたびvimbへいって、make clean; makeする
途中のエラーその3
cc handlers.o
minify hints.js
cc hints.o
In file included from hints.c:28:
./hints.js.h:1:1: error: expected external declaration
-n #define HINTS_JS "
^
./hints.js.h:1:2: error: unknown type name 'n'
-n #define HINTS_JS "
^
./hints.js.h:1:4: error: expected identifier or '('
-n #define HINTS_JS "
^
./hints.js.h:1:21: warning: missing terminating '"' character
[-Winvalid-pp-token]
-n #define HINTS_JS "
^
1 warning and 3 errors generated.
make[1]: *** [hints.o] Error 1
make: *** [vimb] Error 2
なんだこれ。ヘッダファイルの中で死んでるぞ……
かなり読みたくないし。
っていうかこれsrc/hints.jsそのものじゃね。なんでこれこのままコピペされてヘッダファイルってことになってるの。イミフ。
と思ったけど
どうもこれはMac側の問題でシェルスクリプト内でやると
はちゃんと動くのに
ってなるやつのせいだと思う。なんで気付いたのか自分でもすごい。
こうするとうまくいくようです。
なぜかは知らん。とりあえずMacがダメなんだ……
そういうわけで
$ vim src/js2h.sh
で、
echo -n '#define HINTS_JS "'
を
/bin/echo -n '#define HINTS_JS "'
に置き換えてあげます。
つかいごこち
よくわからない。いまからあそぶ。
追記
結局全くつかってない。起動後10分触って「これはダメだな!!!!!!!!」と確信した。