wget https://github.com/taku910/crfpp/archive/master.zip
unzip master.zip
cd crfpp-master
./configure
make
make install
如果需要用到python训练模型的话,可以一起安装CRFPP。
cd python
python setup.py build
python setup.py install
安装过程中可能遇到的问题:
- 执行make操作时,找不到winmain.的错误
sed -i '/#include "winmain.h"/d' crf_test.cpp
sed -i '/#include "winmain.h"/d' crf_learn.cpp
执行
import CRFPP
时,遇到ImportError: libcrfpp.so.0: cannot open shared object file: No such file or directory
默认情况下,编译器只会使用/lib
和/usr/lib
这两个目录下的库文件,而通常通过源码包进行安装时,如果不指定--prefix
,则会将库安装在/usr/local目录下,而又没有在文件/etc/ld.so.conf
中添加/usr/local/lib
这个目录。这样虽然安装了源码包,但是使用时仍然找不到相关的.so库,就会报错,也就是说系统不知道安装了源码包,针对该问题,一般有3种解决办法:- 用ln将需要的so文件链接到/usr/lib或者/lib这两个默认的目录下边
ln -s /usr/local/lib/libcrfpp.so.0 /usr/lib/ ldconfig
- 修改/etc/ld.so.conf,然后刷新。
echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig
- 修改LD_LIBRARY_PATH。
cd echo "export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH" >> .bashrc source .bashrc
如果共享文件安装到了非
/lib
或者非/usr/lib/
中,同时又没有权限修改/etc/ld.so.conf
,那么可以在.bashrc
或者.bash_profile
中,export
一个全局变量LD_LIBRARY_PATH
。
参考资料:
http://www.cnblogs.com/smartvessel/archive/2011/01/21/1940868.html
http://www.cnblogs.com/chris-cp/p/3591306.html