LoginSignup
1
1

More than 3 years have passed since last update.

JUMAN++をMacにインストール(失敗)

Last updated at Posted at 2019-12-30

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

環境
MacBookPro ver10.14.6(Mojave)

JUMAN++のインストール全体はこちらのサイトを参考にしました。
pyknp(JUMANN++)で形態素解析してみた

写経で進めます。

% 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にインストールしたよ
どうやらboostというのをインストールする必要があるようです。

Macにインストールした記事を見つけました。
Macにboostをインストールする(ソースからビルド)
以下、こちらのサイトを参考に進めました。

boost.orgのサイトに行って、ダウンロードしてきます。自分は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

もう少し調べてみます。

1
1
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
1