Is the file model/lm.kenlm in place?
> On May 24, 2017, at 10:15 PM, Hoàng Đình Long <long....@gmail.com> wrote: > > Hello, > > In the $JOSHUA home directory (which I built from source code cloned from > Github), I found a lib directory which contains only 1 file > named libken.so. Then I copy the lib folder into the language pack release > folder (because the language pack folder doesn't have this sub folder). > > The error remains the same when I try to use the language pack: > > 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) > ... 12 more > > > On Wed, May 24, 2017 at 9:06 PM, Matt Post <p...@cs.jhu.edu> wrote: > >> 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_ >> >> > > > -- > _Long HĐi_