怎样在Linux下从源代码安装SQLite3,在redhat安装gearman,在make的时候,报错,怎么解决的办法?

jackxiang 2014-12-26 16:37 | |
SQLite3是一个极轻型的独立的无服务器的SQL数据库引擎。

你不需要做任何的配置来使其工作。所有你需要的就是安装它并开始使用它。

既然是无服务器的,它被用在很多你所使用的著名的软件中,甚至你可能并不知道那些软件正在使用它。看看下面的例子所有的大公司正在使用SQLiete.PUP编程语言内嵌了SQLite数据库于其中。

如果你从来没有使用过SQLite,按照下面的文章中所提到的步骤安装在Linux上,并且创建了一个例子数据库。


下载SQLite3源代码
去SQLite下载页面,并点击“sqlite-autoconf-3070603.tar.gz”(在源代码部分),并下载到你的系统中。或者使用wget直接从服务器下载就像下面。



安装 SQLite3

Uncompress the tar.gz file and install SQLite3 as shown below.

解压tar.gz文件并像下面所示安装

tar xvfz sqlite-autoconf-3080704.tar.gz
cd sqlite-autoconf-3080704
./configure
make
make install

make安装命令后会有以下的输出。

test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin"
  ./libtool --mode=install /usr/bin/install -c sqlite3 /usr/local/bin/sqlite3
/usr/bin/install -c .libs/sqlite3 /usr/local/bin/sqlite3
test -z "/usr/local/include" || mkdir -p -- "/usr/local/include"
/usr/bin/install -c -m 644 'sqlite3.h' '/usr/local/include/sqlite3.h'
/usr/bin/install -c -m 644 'sqlite3ext.h' '/usr/local/include/sqlite3ext.h'
test -z "/usr/local/share/man/man1" || mkdir -p -- "/usr/local/share/man/man1"
/usr/bin/install -c -m 644 './sqlite3.1' '/usr/local/share/man/man1/sqlite3.1'
test -z "/usr/local/lib/pkgconfig" || mkdir -p -- "/usr/local/lib/pkgconfig"
/usr/bin/install -c -m 644 'sqlite3.pc' '/usr/local/lib/pkgconfig/sqlite3.pc'

提示:如果你对mysql数据库有兴趣,你也可以安装在你的系统中。

摘自:http://blog.csdn.net/qianguozheng/article/details/6731928


在redhat安装gearman,在make的时候,报错,怎么解决的办法:
[root@test gearmand-1.1.12]# make
make -j9  all-am
make[1]: Entering directory `/home/xiangdong/software/gearmand-1.1.12'
  CXX      libgearman-server/plugins/queue/sqlite/libgearman_server_libgearman_server_la-instance.lo
libgearman-server/plugins/queue/sqlite/instance.cc: In member function 'bool gearmand::queue::Instance::_sqlite_prepare(const std::string&, sqlite3_stmt**)':
libgearman-server/plugins/queue/sqlite/instance.cc:125: error: 'sqlite3_prepare_v2' was not declared in this scope
libgearman-server/plugins/queue/sqlite/instance.cc: In member function 'gearmand_error_t gearmand::queue::Instance::init()':
libgearman-server/plugins/queue/sqlite/instance.cc:224: error: 'SQLITE_OPEN_READWRITE' was not declared in this scope
libgearman-server/plugins/queue/sqlite/instance.cc:224: error: 'SQLITE_OPEN_CREATE' was not declared in this scope
libgearman-server/plugins/queue/sqlite/instance.cc:224: error: 'sqlite3_open_v2' was not declared in this scope
make[1]: *** [libgearman-server/plugins/queue/sqlite/libgearman_server_libgearman_server_la-instance.lo] Error 1
make[1]: Leaving directory `/home/xiangdong/software/gearmand-1.1.12'
make: *** [all] Error 2

删除了系统原带的sqlite3 ,到官网上下一个源码,重新编译安装sqlite3。

如:
把sqlite3安装到 /usr/local/sqlite3
tar zxf sqlite3.xxxx.tar.gz
cd sqlite.3.xxxx
./configura --prefix=/usr/local/sqlite3
make && make install
cd ..

最后在编译Gearman时带上 --with-sqlite3=/usr/local/sqlite3,告诉编译器应该使用这个新的sqlite即可。

实践如下:


来自:http://zhidao.baidu.com/question/531552126.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/7709/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2014-12-26 16:55
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]