linux 安装 py-leveldb
py-leveldb安装笔记
今天想测试一下py-leveldb,试试将小文件存储在这个数据库上的性能如何。但安装这个数据库的时候花了好长时间,svn里面的那个snappy一直无法编译。
下载py-leveldb:
svn checkout http://py-leveldb.googlecode.com/svn/trunk/ py-leveldb-read-only
下载过来的源代码里面会有一个snappy-read-only的目录,在ubuntu上编译的时候需要安装automake,libtool,autoconf这几个包:
sudo apt-get install autoconf libtool automake
执行snappy-read-only目录中的autogen.sh,但是一直提示我:
configure.ac:41: error: possibly undefined macro: AC_DEFINE
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
查了半天也没找到个解决方法,后来直接去单独下了个snappy,删掉snappy-read-only,并解压下载过来的snappy,并将目录名改为snappy-read-only:
rm snappy-read-only -R -f
tar xvzf snappy-1.0.5.tar.gz
mv snappy-1.0.5 snappy-read-only
编辑compile_leveldb.sh文件,改成如下:
#!/bin/sh
(
cd snappy-read-only;
./configure --enable-shared=no --enable-static=yes;
make clean;
make CXXFLAGS='-g -O2 -fPIC';
)
(
cd leveldb-read-only;
make clean;
make OPT='-fPIC -O2 -DNDEBUG -DSNAPPY -I../snappy-read-only' SNAPPY_CFLAGS=''
)
然后运行一下./compile_leveldb.sh,会自动编译好leveldb和snappy。再执行下面命令安装好py-leveldb:
python setup.py build
sudo python setup.py install
转载出处:http://plotcup.com/a/68