Hi, If you are using a language pack, you must have KenLM installed into the language pack directory under lib/ since that is where it looks. Can you copy libken.so to that directory and see if it works?
> On May 23, 2017, at 10:54 PM, Hoàng Đình Long <long....@gmail.com> wrote: > > Hello, > > I have followed the Fisher call home tutorial and I built 3 models based on > that document. > > Then I use this script to build a language pack based on the model number 3: > > $JOSHUA/scripts/language-pack/build_lp.sh es-en 3/tune/joshua.config.final > 4g > > The scripts ended well and I created a folder named releases. > > In "releases" folder, there is a folder named > "apache-joshua-es-en-2017-05-24". I cd into that folder. > > I created a file named "example.es" with this sentence inside "común y > corriente" and ran this command: > > cat example.es | ./prepare.sh | ./joshua > output.en > > It reported the following error: > > Exception in thread "main" java.lang.RuntimeException: Unable to > instantiate feature function 'StateMinimizingLanguageModel -lm_order 3 > -lm_file model/lm.kenlm'! > at > org.apache.joshua.decoder.Decoder.initializeFeatureFunctions(Decoder.java:642) > at org.apache.joshua.decoder.Decoder.initialize(Decoder.java:394) > at org.apache.joshua.decoder.Decoder.<init>(Decoder.java:128) > at org.apache.joshua.decoder.JoshuaDecoder.main(JoshuaDecoder.java:69) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.apache.joshua.decoder.Decoder.initializeFeatureFunctions(Decoder.java:638) > ... 3 more > Caused by: org.apache.joshua.decoder.ff.lm.KenLM$KenLMLoadException: > java.lang.UnsatisfiedLinkError: no ken in java.library.path > at > org.apache.joshua.decoder.ff.lm.KenLM.initializeSystemLibrary(KenLM.java:107) > at org.apache.joshua.decoder.ff.lm.KenLM.<init>(KenLM.java:58) > at > org.apache.joshua.decoder.ff.lm.StateMinimizingLanguageModel.initializeLM(StateMinimizingLanguageModel.java:63) > at > org.apache.joshua.decoder.ff.lm.LanguageModelFF.<init>(LanguageModelFF.java:132) > at > org.apache.joshua.decoder.ff.lm.StateMinimizingLanguageModel.<init>(StateMinimizingLanguageModel.java:47) > ... 8 more > Caused by: java.lang.UnsatisfiedLinkError: no ken in java.library.path > at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) > at java.lang.Runtime.loadLibrary0(Runtime.java:870) > at java.lang.System.loadLibrary(System.java:1122) > at > org.apache.joshua.decoder.ff.lm.KenLM.initializeSystemLibrary(KenLM.java:103) > > > I think I have installed KenLM properly. If I hadn't installed it, I > wouldn't have been able to follow the tutorial and build the language pack, > would I? Did I miss something here? > > -- > _Long HĐi_