BashOnUbuntuOnWindows
juman++

強引にBash On Ubuntu On Windows上でjuman++をインストールする

juman++をBash on Ubuntu on Windowsでどうしても使いたい!

juman++とBash on Ubuntu on Windows(BoW)とは何かの細かい説明は他にまとまってる記事が存在するので省略します。

どうしてもBoW上でjuman++を動かしたい!Docker上ではやだ!という方向けです。

標準の状態でコンパイルするとセグフォして落ちるため、そのエラーが落ちる箇所を飛ばします。

ソースの改変を伴うので何らかのエラーが出る可能性があります。
多分メモリを大量に消費するか、使用するファイルサイズが大きくなるという予想ですが・・・。
修正するところは3つのファイルで計3箇所です。

  • src/feature_vector.h
  • src/pos.h
  • src/rnnlm/rnnlmlib_dynamic.cpp

そのうち bip::managed_mapped_file::shrink_to_fit という関数を3つのファイルでそれぞれコメントアウトしてください。
この関数はboostの説明によると引数のファイル?変数?を縮小させます。
boostの1.64.0バージョンではBoW上でこの関数を実行しようとするとセグフォします。

変更を行ったうえでmakeするときちんとコンパイルが通るはずです。