[b]开场白[/b]:
tokyocabinet是一日本人开发的一个高速key-value持久的缓存数据库,比bekerlyDB速度还要快。
我是打算用它来作为公司搜索缓存的.可以从http://tokyocabinet.sourceforge.net/javapkg/下载这java的版本,前提条件首先要安装jdk了,然后我下载了tokyocabinet-java-1.20.tar.gz 这个版本编译,./configue后发觉出错了。说tcutil.h找不到[如下图]
[img]http://kernaling-wong.iteye.com/upload/attachment/134306/6a8b01b3-008e-35d7-a8e5-26881c0aedcf.jpg[/img]
然后用其他版本编译,一样出现在这个问题。看来官方的安装文档没有提到这个问题,然后我就发现tcutil.h中的tc就是TokyoCabinet的简写,即是tocabinet的一个共享头文件,同时应该在/usr/loca/include目录下.然后我就找,结果发现源码包中没有这个tcutil.h文件。一次要下载一个tokyocabinet-devel.rpm包的内容中就有了几个tc开头的头文件。我解压那个devel的rpm,然后把这些文件拷到/usr/local/include中.
[如下图]
[img]http://www.iteye.com/upload/attachment/134304/b7f012c1-de62-3e8c-9d48-09bc220a3eda.jpg[/img]
然后再编译就没出错了。
然后,make && make install后就成功得到tocabinet.jar包了。大家都知道。那个tokyocabinet-java-1.20.tar.gz 源码包比较旧。所以打算用tokyocabinet-java-1.22.tar.gz 来编译。结果./configure成功了。但是make的时候出错了。错误提示为tbdqry.c这个文件编译时出错了[如下图]
[img]http://kernaling-wong.iteye.com/upload/attachment/134308/e800c182-d87b-3c76-b0da-a8d1b6df4e16.jpg[/img].
然后我就把1.20版的tbdqry.c的文件直接替换了1.22的那个相同文件。结果编译通过了。。。。。[如下图]
[img]http://kernaling-wong.iteye.com/upload/attachment/134312/7d018247-c642-3d11-ba40-6053ad15ae89.jpg[/img]
不知道是不是那个tbdqry.c这个C的源代码出问题了?
综上所述。我不知道是我自己编译方法出问题还是别的地方没有注意到(我是按官方的安装来编译的)。大家有什么建议请随时发贴。
对了,忘记说了我的平台。是openSuSE 11.1 with no x-window and jdk 1.6
欢迎转载,请注明出处 http://kernaling-wong.iteye.com/blog/444203 by kernaling.wong
tokyocabinet是一日本人开发的一个高速key-value持久的缓存数据库,比bekerlyDB速度还要快。
我是打算用它来作为公司搜索缓存的.可以从http://tokyocabinet.sourceforge.net/javapkg/下载这java的版本,前提条件首先要安装jdk了,然后我下载了tokyocabinet-java-1.20.tar.gz 这个版本编译,./configue后发觉出错了。说tcutil.h找不到[如下图]
[img]http://kernaling-wong.iteye.com/upload/attachment/134306/6a8b01b3-008e-35d7-a8e5-26881c0aedcf.jpg[/img]
然后用其他版本编译,一样出现在这个问题。看来官方的安装文档没有提到这个问题,然后我就发现tcutil.h中的tc就是TokyoCabinet的简写,即是tocabinet的一个共享头文件,同时应该在/usr/loca/include目录下.然后我就找,结果发现源码包中没有这个tcutil.h文件。一次要下载一个tokyocabinet-devel.rpm包的内容中就有了几个tc开头的头文件。我解压那个devel的rpm,然后把这些文件拷到/usr/local/include中.
[如下图]
[img]http://www.iteye.com/upload/attachment/134304/b7f012c1-de62-3e8c-9d48-09bc220a3eda.jpg[/img]
然后再编译就没出错了。
然后,make && make install后就成功得到tocabinet.jar包了。大家都知道。那个tokyocabinet-java-1.20.tar.gz 源码包比较旧。所以打算用tokyocabinet-java-1.22.tar.gz 来编译。结果./configure成功了。但是make的时候出错了。错误提示为tbdqry.c这个文件编译时出错了[如下图]
[img]http://kernaling-wong.iteye.com/upload/attachment/134308/e800c182-d87b-3c76-b0da-a8d1b6df4e16.jpg[/img].
然后我就把1.20版的tbdqry.c的文件直接替换了1.22的那个相同文件。结果编译通过了。。。。。[如下图]
[img]http://kernaling-wong.iteye.com/upload/attachment/134312/7d018247-c642-3d11-ba40-6053ad15ae89.jpg[/img]
不知道是不是那个tbdqry.c这个C的源代码出问题了?
综上所述。我不知道是我自己编译方法出问题还是别的地方没有注意到(我是按官方的安装来编译的)。大家有什么建议请随时发贴。
对了,忘记说了我的平台。是openSuSE 11.1 with no x-window and jdk 1.6
欢迎转载,请注明出处 http://kernaling-wong.iteye.com/blog/444203 by kernaling.wong