Hi Kenneth, Thanks a lot for the detailed tutorial! Problem solved. The static libs were compiled without -fPIC. Unfortunately I am not allowed to use KenLM in the application, but I will go for:
*SRILM no more, KenLM forever!! :D* Cheers, SS On Sun, May 13, 2012 at 7:52 PM, Kenneth Heafield <[email protected]>wrote: > 1. Download the latest from > http://www.speech.sri.com/projects/srilm/download.html > > 2. mkdir srilm && cd srilm && tar xzf ../srilm.tar.gz #They should have > a top-level directory but don't > > 3. Edit Makefile to say > > SRILM = $(PWD) > MACHINE_TYPE := $(shell $(SRILM)/sbin/machine-type) > > at the top. > > 4. Edit sbin/machine-type to fix the architecture > > x86_64) MACHINE_TYPE=i686-m64 > # MACHINE_TYPE=i686 > ;; > > 5. Disable TCL for a shared library in common/Makefile.machine.i686-m64 > > NO_TCL = X > > 6. Forcibly use PIC. > > make MAKE_PIC=-fPIC -j4 > > 7. Manually build libsrilm.so > > cd lib/i686-m64/ > > g++ -L. -shared > > -Wl,-z,muldefs,-whole-archive,-lflm,-llattice,-lmisc,-ldstruct,-loolm,-no-whole-archive > -o libsrilm.so > > 8. E-mail [email protected] to complain about their broken build > system. > > Obligatory KenLM advertisement: > http://kheafield.com/code/kenlm/developers/ . Probably the easiest way > to build a .so file is to compile moses with > > ./bjam link=shared > > then copy dist/lib/libkenutil.so and dist/lib/libkenlm.so . You can > also do this with just the tarball from the website, but the shell > script only builds programs and the bjam version assumes you have Boost > build installed. > > Kenneth > > On 05/13/2012 03:26 AM, saeed smith wrote: > > Hi, > > > > I am sorry if this is not the right place to submit a query like this: > > > > I need a shared library for SRILM to be used in my application > > (*libsrilm.so*). I want to query the language model and compute the > > probabilities for sentences. I have been using the code from Stanford's > > *Phrasal* decoder but it does not compile on *64-bits systems*. Do you > > know other applications containing the code? I guess moses does not use > > this library. > > > > Cheers, > > SS > > > > > > _______________________________________________ > > Moses-support mailing list > > [email protected] > > http://mailman.mit.edu/mailman/listinfo/moses-support > _______________________________________________ > Moses-support mailing list > [email protected] > http://mailman.mit.edu/mailman/listinfo/moses-support >
_______________________________________________ Moses-support mailing list [email protected] http://mailman.mit.edu/mailman/listinfo/moses-support
