1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

MacでValhallaの開発環境を整えるまでのメモ

Last updated at Posted at 2020-05-24

ルート探索エンジンのValhallaのビルド環境を作るたびに、詰まりどころが多くて悩んでいました。
ビルドできるようになるまでの環境セットアップ手順をメモします。(2020/05時点)

環境情報

macOS : Catalina(10.15.4)
XCode : 11.5
valhalla : 3.0.9
CLion : 2020.1.1

前提

基本的に公式の README.mdBuilding from Source に沿って作業します。

Homebrew, anyenvの準備

# Homebrewインストール
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

# anyenvセットアップ
$ brew install anyenv
$ anyenv init
$ echo 'eval "$(anyenv init -)"' >> ~/.zshrc

8.0以上のnodejsのインストール

README上ではnvmで記載していますが、ビルド済みのパッケージ利用で問題ないため今回はnodenvを利用します。

# anyenvからnodenvをインストール
$ anyenv install nodenv
$ nodenv -v

# 任意のバージョンをインストール
$ nodenv install -l
$ nodenv install 14.3.0
$ nodenv global 14.3.0

# インストールされていることを確認
$ which node
$ node -v

# vallharaに必要なパスを通す(こちらはnvmでも必要そう)
$ sudo ln -s $HOME/.anyenv/envs/nodenv/versions/14.3.0/include/node/v8.h /usr/include/v8.h
$ sudo ln -s $HOME/.anyenv/envs/nodenv/versions/14.3.0/include/node/uv.h /usr/local/include
$ sudo ln -s $HOME/.anyenv/envs/nodenv/versions/14.3.0/include/node/node.h /usr/local/include

# CLion上で見つけられないと怒られるので環境変数に追加
echo 'export NODEJS_INCLUDE_DIRS=$HOME/.anyenv/envs/nodenv/versions/14.3.0/include' >> ~/.zshrc

# npmかyarnか聞かれてエラーになるので空ファイル作成(npmを指定)
$ touch $(nodenv root)/default-packages

※参照 : Ubuntu_Bionic_Install.sh#L34-L37

README記載の必要パッケージをインストール(nvm, boost-pythonを除く)

$ brew install automake cmake libtool protobuf-c libspatialite pkg-config sqlite3 jq curl wget czmq lz4 spatialite-tools unzip
$ brew install bash coreutils binutils
$ brew install valhalla/valhalla/prime_server

boostのビルド

gitか boost.org からソースコードをダウンロードして導入。
macOSのシステムのpython2.7を利用するboost-pythonをインストールするが、brew上からだと認識してくれないのでビルドをする。

# ソースコードをダウンロード(tgzファイルをダウンロードしても良い)
$ git clone --recursive https://github.com/boostorg/boost.git
$ cd boost
$ git checkout develop

# pythonバインディング情報をインストール時に指定したいため確認
$ python --version
$ ./bootstrap.sh --with-python-version=2.7.16

# 配置ディレクトリを準備してインストール (jオプションはCPUのコア数)
$ mkdir /usr/local/Cellar/boost
$ ./b2 install -j4 --prefix=/usr/local/Cellar/boost

# cmakeに見つけてもらえるようシンボリックリンクを貼る
$ ln -s /usr/local/Cellar/boost /usr/local/opt/
$ ln -s /usr/local/Cellar/boost/include/boost /usr/local/include/
$ ln -s /usr/local/Cellar/boost/lib/*boost* /usr/local/lib/

※参考 : https://boostjp.github.io/howtobuild.html

最新のvalhalla本体をダウンロード

$ git clone --recurse-submodules https://github.com/valhalla/valhalla.git

CLion上でCMake実行

上記をcloneしたディレクトリを読み込めば勝手にcmakeされ、ビルド可能になるはずです。
スクリーンショット 2020-05-24 18.17.59.png

おつかれさまでした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?