JUMAN++をMacにインストール（失敗）

日本語の形態素解析ライブラリ、JUMAN++をMacにインストールする際躓いたメモ。未解決です。

環境
MacBookPro ver10.14.6(Mojave)


JUMAN++のインストール全体はこちらのサイトを参考にしました。
[pyknp(JUMANN++)で形態素解析してみた](https://dev.classmethod.jp/server-side/python/pyknpjumann-tutorial/)

写経で進めます。

```
% wget http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.02.tar.xz
% tar xJvf jumanpp-1.02.tar.xz
% cd jumanpp-1.02
% ./configure
```

ここでエラー。

```
checking for boostlib >= 1.57... configure: We could not detect the boost libraries (version 1.57 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
configure: error: "Error: cannot find available Boost library."
```

同様のエラーを解決しているサイトがありましたが、Ubuntu環境についての解説となっていました。
[MeCabよりも高精度なJUMAN++をUbuntuにインストールしたよ](https://foolean.net/p/499)
どうやらboostというのをインストールする必要があるようです。

Macにインストールした記事を見つけました。
[Macにboostをインストールする(ソースからビルド)](http://ftvoid.com/blog/post/592)
以下、こちらのサイトを参考に進めました。

[boost.orgのサイト](https://dl.bintray.com/boostorg/release/1.72.0/source/)に行って、ダウンロードしてきます。自分は2019年12月11日リリースのバージョンにしました。 boost_1_72_0.tar.gz という名前で置いてあります。ダンロード後、解凍しておき、コマンドラインに戻ります。

```
% ~/Downloads/boost_1_72_0
% ./bootstrap.sh
```

CPUのコア数を確認します。

```
% system_profiler SPHardwareDataType
```

```
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro11,4
      Processor Name: Intel Core i7
      Processor Speed: 2.2 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      .
      .
      .
```

MBPでも4コアなんですね。
-jの後の数字に、(4+1で)5を指定します。

```
sudo ./b2 install -j5 --prefix=/opt/local
```

入ったようです。JUMAN++のインストールに戻ります。

```
 ~/jumanpp-1.02
% make
Making all in src
/Library/Developer/CommandLineTools/usr/bin/make  all-recursive
Making all in cdb
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_init.o -MD -MP -MF .deps/libcdb_a-cdb_init.Tpo -c -o libcdb_a-cdb_init.o `test -f 'cdb_init.c' || echo './'`cdb_init.c
mv -f .deps/libcdb_a-cdb_init.Tpo .deps/libcdb_a-cdb_init.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_find.o -MD -MP -MF .deps/libcdb_a-cdb_find.Tpo -c -o libcdb_a-cdb_find.o `test -f 'cdb_find.c' || echo './'`cdb_find.c
mv -f .deps/libcdb_a-cdb_find.Tpo .deps/libcdb_a-cdb_find.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_findnext.o -MD -MP -MF .deps/libcdb_a-cdb_findnext.Tpo -c -o libcdb_a-cdb_findnext.o `test -f 'cdb_findnext.c' || echo './'`cdb_findnext.c
mv -f .deps/libcdb_a-cdb_findnext.Tpo .deps/libcdb_a-cdb_findnext.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_seq.o -MD -MP -MF .deps/libcdb_a-cdb_seq.Tpo -c -o libcdb_a-cdb_seq.o `test -f 'cdb_seq.c' || echo './'`cdb_seq.c
mv -f .deps/libcdb_a-cdb_seq.Tpo .deps/libcdb_a-cdb_seq.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_seek.o -MD -MP -MF .deps/libcdb_a-cdb_seek.Tpo -c -o libcdb_a-cdb_seek.o `test -f 'cdb_seek.c' || echo './'`cdb_seek.c
mv -f .deps/libcdb_a-cdb_seek.Tpo .deps/libcdb_a-cdb_seek.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_unpack.o -MD -MP -MF .deps/libcdb_a-cdb_unpack.Tpo -c -o libcdb_a-cdb_unpack.o `test -f 'cdb_unpack.c' || echo './'`cdb_unpack.c
mv -f .deps/libcdb_a-cdb_unpack.Tpo .deps/libcdb_a-cdb_unpack.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_make_add.o -MD -MP -MF .deps/libcdb_a-cdb_make_add.Tpo -c -o libcdb_a-cdb_make_add.o `test -f 'cdb_make_add.c' || echo './'`cdb_make_add.c
mv -f .deps/libcdb_a-はcdb_make_add.Tpo .deps/libcdb_a-cdb_make_add.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_make_put.o -MD -MP -MF .deps/libcdb_a-cdb_make_put.Tpo -c -o libcdb_a-cdb_make_put.o `test -f 'cdb_make_put.c' || echo './'`cdb_make_put.c
mv -f .deps/libcdb_a-cdb_make_put.Tpo .deps/libcdb_a-cdb_make_put.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_make.o -MD -MP -MF .deps/libcdb_a-cdb_make.Tpo -c -o libcdb_a-cdb_make.o `test -f 'cdb_make.c' || echo './'`cdb_make.c
mv -f .deps/libcdb_a-cdb_make.Tpo .deps/libcdb_a-cdb_make.Po
gcc -DHAVE_CONFIG_H -I. -I../../src    -Ofast -fPIC -D_FILE_OFFSET_BITS=64 -g -O2 -MT libcdb_a-cdb_hash.o -MD -MP -MF .deps/libcdb_a-cdb_hash.Tpo -c -o libcdb_a-cdb_hash.o `test -f 'cdb_hash.c' || echo './'`cdb_hash.c
mv -f .deps/libcdb_a-cdb_hash.Tpo .deps/libcdb_a-cdb_hash.Po
rm -f libcdb.a
ar cru libcdb.a libcdb_a-cdb_init.o libcdb_a-cdb_find.o libcdb_a-cdb_findnext.o libcdb_a-cdb_seq.o libcdb_a-cdb_seek.o libcdb_a-cdb_unpack.o libcdb_a-cdb_make_add.o libcdb_a-cdb_make_put.o libcdb_a-cdb_make.o libcdb_a-cdb_hash.o 
ranlib libcdb.a
depbase=`echo charlattice.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	g++ -std=c++11 -DHAVE_CONFIG_H -I.    --std=c++11 -Ofast -m64 -Wall -funroll-loops -ffast-math  -g -O2 -MT charlattice.o -MD -MP -MF $depbase.Tpo -c -o charlattice.o charlattice.cc &&\
	mv -f $depbase.Tpo $depbase.Po
charlattice.cc:185:49: warning: unused variable 'result_pair'
      [-Wunused-variable]
                            da_result_pair_type result_pair;
                                                ^
charlattice.cc:233:49: warning: unused variable 'result_pair'
      [-Wunused-variable]
                            da_result_pair_type result_pair;
                                                ^
2 warnings generated.
depbase=`echo dic.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	g++ -std=c++11 -DHAVE_CONFIG_H -I.    --std=c++11 -Ofast -m64 -Wall -funroll-loops -ffast-math  -g -O2 -MT dic.o -MD -MP -MF $depbase.Tpo -c -o dic.o dic.cc &&\
	mv -f $depbase.Tpo $depbase.Po
In file included from dic.cc:2:
In file included from ./feature.h:11:
./feature_vector.h:14:10: fatal error: 'boost/unordered_map.hpp' file not found
#include <boost/unordered_map.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[3]: *** [dic.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all] Error 2
make: *** [all-recursive] Error 1

```

もう少し調べてみます。