Search code examples
pythonmakefilecygwinnltk

Installing megam for NLTK on Windows


I need to install megam for nltk classification routines in Python. I followed the instruction by Milk Magic from this post:
0. Downloaded megam source from http://www.umiacs.umd.edu/~hal/megam/index.html
1. Installed cygwin with gcc, make and ocaml packages
2. changed the makefile
3. when trying to compile megam with a makefile I receive an error with the following content

make
ocamldep *.mli *.ml > .depend ocamlc -g -custom -o megam str.cma -cclib -lcamlstr bigarray.cma -cclib -lbigarray unix.cma -cclib -lunix -I /lib/ocaml/caml fastdot_c.c fastdot.cmo intHashtbl.cmo arry.cmo util.cmo data.cmo bitvec.cmo cg.cmo wsemlm.cmo bfgs.cmo pa.cmo perceptron.cmo radapt.cmo kernelmap.cmo abffs.cmo main.cmo
sh: flexlink: command not found
File "fastdot_c.c", line 1:
Error: Error while building custom runtime system make: *** [Makefile:101: megam] Error 2

Do you know what the problem might be?
Maybe somebody has solved the same problem recently and could help.


Solution

  • As the error is

    sh: flexlink: command not found
    

    you need to find the package that contains it

    $ cygcheck -p flexlink
    Found 5 matches for flexlink
    flexdll-0.34-1 - flexdll: Creates DLLs with runtime symbol resolution (installed binaries and support files)
    flexdll-0.35-1 - flexdll: Creates DLLs with runtime symbol resolution (installed binaries and support files)
    flexdll-0.35-2 - flexdll: Creates DLLs with runtime symbol resolution
    ...
    

    So you need to install the flexdll package.

    $ cygcheck -l flexdll |grep bin
    /usr/bin/flexlink