中文分词一般会选择ICTCLAS的模块,虽然不能说很完美,但也算是一个不错的选择。 它提供了windows版本和linux版本,并支持C/C#/JNI接口。这本来是一个不错的事情,但版本一多,官方似乎就有点维护不过来了。

在linux下调用它的.so文件后,它会报错如下:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /..../libICTCLAS50.so: 
libstdc++.so.5: cannot open shared object file: No such file or directory

这个错误原因很简单,版本不对,ICTCLAS使用的c++ lib库落后了自己正常使用的stdc++ lib太远了,导致兼容不能。为此我们需要专门为它下载个过去的版本。 fedora这个distribution可以让事情变得比较简单。 libstdc++.so.5 是compat-libstdc++-33 package下的一部分,从这个地址可以找到一些mirror,随便选择一个,下载rpm包,安装即可。 当然,yum可以更容易解决这个问题:

# yum install compat-libstdc++-33

注意,stackoverflow的这个问答中,有人建议使用这个命令

# yum install 'libstdc++.so.5'

这种手法在某些时候也许是可用的,在i386,i686的系统下也是可以的,但是在x64环境下其实是不能用的。 因为它会找到个compat-libstdc++-33.i686,然后安装。效果就是lib/中出现了需要的.so,但在更重要的lib64/中却并没有安装到。

如果是其他版本,应该也可以从软件仓库中找到一些可用的安装包。 如果实在不行。自求多福吧。。libstdc++.so.5是gcc 3.3版本附赠的一个东西,所以你可能需要试试gcc 3是怎么编译的。 提供一个下载的源: http://packages.debian.org/stable/base/libstdc++5 下载那个.tar.gz包,慢慢编译吧 当然,应该还有更好的方法,虽然我不知道。


Yu

Ideals are like the stars: we never reach them, but like the mariners of the sea, we chart our course by them.

8 Comments

Leniy · September 9, 2013 at 08:24

Google Chrome 30.0.1599.14 Google Chrome 30.0.1599.14 Windows 7 Windows 7

中文分词,从来没用过

Leniy · September 11, 2013 at 19:04

Google Chrome 29.0.1547.66 Google Chrome 29.0.1547.66 Windows XP Windows XP

好想回家啊

    yu · September 12, 2013 at 01:15

    Google Chrome 29.0.1547.66 Google Chrome 29.0.1547.66 Windows 7 x64 Edition Windows 7 x64 Edition

    表示无共鸣。。。
    不过十一要回去,我姐结婚了。。

      Leniy · September 12, 2013 at 12:37

      Google Chrome 29.0.1547.66 Google Chrome 29.0.1547.66 Windows XP Windows XP

      在研究所的孩子就是好啊,樂不思蜀

    yu · September 12, 2013 at 01:17

    Google Chrome 29.0.1547.66 Google Chrome 29.0.1547.66 Windows 7 x64 Edition Windows 7 x64 Edition

    话说,最近很有心情啊,又折腾VPS
    我连写博的时间都不大有了。。

      Leniy · September 12, 2013 at 12:38

      Google Chrome 29.0.1547.66 Google Chrome 29.0.1547.66 Windows XP Windows XP

      只是在賓館沒事干罷了,工作還是很忙的

路人甲 · December 17, 2013 at 21:43

Google Chrome 30.0.1599.114 Google Chrome 30.0.1599.114 GNU/Linux x64 GNU/Linux x64

和常见系统不同,CentOS,RHEL之类保守的机器,往往是使用落后于潮流的版本的。造成的结果就是,常常有东西在开发环境下编译完毕,到生产环境下就挂了。往往还要再来个libstdc++.so.6

http://rpm.pbone.net/index.php3?stat=26&dist=0&size=472486&name=libstdc%2B%2B6-4.8.2-0.20131009.2.mga4.x86_64.rpm

Leave a Reply

Your email address will not be published. Required fields are marked *