Installing Apache Arrow

最近すとうさん一押ししているapache arrowをインストールしてみた

環境

1
2
3
4
5
6
7
8
9
10
$ uname -a
Linux rin 4.9.10-gentoo #6 SMP Tue Mar 28 01:29:26 JST 2017 x86_64 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz GenuineIntel GNU/Linux
$ gcc -v
組み込み spec を使用しています。
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/5.4.0/lto-wrapper
ターゲット: x86_64-pc-linux-gnu
configure 設定: /var/tmp/portage/sys-devel/gcc-5.4.0-r3/work/gcc-5.4.0/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/5.4.0 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.4.0 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.4.0/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/5.4.0/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/5.4.0/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 5.4.0-r3 p1.3, pie-0.6.5' --enable-libstdcxx-time --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-altivec --disable-fixed-point --enable-targets=all --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx --enable-vtable-verify --enable-libvtv --enable-lto --without-isl --enable-libsanitizer
スレッドモデル: posix
gcc バージョン 5.4.0 (Gentoo 5.4.0-r3 p1.3, pie-0.6.5)

いんすとーる

今回まだGentooにパッケージがないのでgitからインストールします。ほしいのはrubygems.orgに公開されているred-arrowをコンパイルするためにglibとこれを利用するために必要な依存パッケージとしてcppをインストールします。インストールはかんたんで cmake を実行すればインストールデキルはずです。

1
2
3
4
5
$ git clone [email protected]:apache/arrow.git
$ cd arrow/cpp
$ mkdir release
$ cd release
$ cmake .. -DCMAKE_BUILD_TYPE=Release

でリリース用パッケージがビルドされるはずですがエラーが出ます。 これはJIRAで検索した結果より gcc のバージョン情報がとれずにエラーをだしているやりとりが発見されたのでわかりました。 ログを見ると実際に取得できていないことも確認しました。で cpp/cmake_modules/CompilerInfo.cmake をみるとどうやら日本語のバージョン情報は考慮されていないような作りになっていました。 なので LANG=C をつけて cmake 再びつけて実行します。

1
2
3
$ LANG=C cmake .. -DCMAKE_BUILD_TYPE=Release
$ make
$ make install

これでC++のインストールは終了です。続いてglibをインストールします。

1
2
3
4
5
$ cd ../../c_glib
$ ./autgen.sh
$ ./configure
$ make
$ make install

でインストールできます。こちら久々に野良ビルドしたため PKG_CONFIG_PATHLD_LIBRARY_PATH の設定をわすれてただけなのですんなりいけました。 で最後に gem install red-arrow を実行して目的を達成しました!!!!11

おわり

ほんとうのもくてきは fluentd のぷらぐいんをかくことですがつかれたのできょうはここまで