前提
- macOS
- Homebrew は
/opt/brew
にインストールしている - 開発用の Apache Arrow を
/opt/arrow-dev
にインストールしたい - Apache Arrow のリポジトリは
~/src/apache/arrow
に clone 済み
インストール先の準備
$ sudo mkdir -p /opt/arrow-dev
$ sudo chown $USER /opt/arrow-dev
C++ ライブラリのビルドとインストール
$ cd ~/src/apache/arrow
$ brew update && brew bundle --file=c_glib/Brewfile
$ mkdir -p cpp/debug
$ cd cpp/debug
$ cmake -DARROW_BUILD_TESTS=ON -DCMAKE_INSTALL_PREFIX=/opt/arrow-dev ..
$ cmake \
-DARROW_GANDIVA=ON \
-DARROW_PARQUET=ON \
-DARROW_INSTALL_NAME_RPATH=OFF \
-DARROW_BUILD_TESTS=ON \
-DCMAKE_INSTALL_PREFIX=/opt/arrow-dev
-DPYTHON_EXECUTABLE=/opt/brew/bin/python3
..
$ make unittest
$ make install
GLib ライブラリのビルドとインストール
$ cd ~/src/apache/arrow/c_glib
$ PKG_CONFIG_PATH=/opt/arrow-dev/lib/pkgconfig:$(brew --prefix libffi)/lib/pkgconfig:$PKG_CONFIG_PATH meson build -Dgtk_doc=true --prefix=/opt/arrow-dev
$ ninja -C build
$ ninja -C build install
Python ライブラリのビルドとインストール
(あとで書く)
Ruby ライブラリのビルドとテスト
$ cd ~/src/apache/arrow/ruby/red-arrow
$ bundle install
$ rake compile DYLD_LIBRARY_PATH=/opt/arrow-dev/lib PKG_CONFIG_PATH=/opt/arrow-dev/lib/pkgconfig:$(brew --prefix libffi)/lib/pkgconfig:$PKG_CONFIG_PATH
$ DYLD_LIBRARY_PATH=/opt/arrow-dev/lib GI_TYPELIB_PATH=/opt/arrow-dev/lib/girepository-1.0 $(rbenv which ruby) test/run-test.rb