Linux 在同一台服务器上安装多个sqlite
我有一台服务器在工作,我基本上是在它上面构建一个apache/mysql/subversion/php/python开发基础。我发现服务器所指向的RPM repos只有sqlite的3.3.6-5版本,而subversion 1.6.17会阻塞它,至少需要3.4版本:Linux 在同一台服务器上安装多个sqlite,linux,sqlite,installation,configure,Linux,Sqlite,Installation,Configure,我有一台服务器在工作,我基本上是在它上面构建一个apache/mysql/subversion/php/python开发基础。我发现服务器所指向的RPM repos只有sqlite的3.3.6-5版本,而subversion 1.6.17会阻塞它,至少需要3.4版本: An appropriate version of sqlite could not be found. We recommmend 3.6.13, but require at least 3.4.0. Please eith
An appropriate version of sqlite could not be found. We recommmend 3.6.13,
but require at least 3.4.0. Please either install a newer sqlite on this
system or get the sqlite 3.6.13 amalgamation from:
http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
unpack the archive using tar/gunzip and copy sqlite3.c from the
resulting directory to:
/root/installs/subversion-1.6.17/sqlite-amalgamation/sqlite3.c
This file also ships as part of the subversion-deps distribution.
我设法下载并构建了sqlite(sqlite-autoconf-3070701.tar.gz),但是现在当我运行sqlite3时,我得到了一个错误:
sqlite3: symbol lookup error: sqlite3: undefined symbol: sqlite3_sourceid
我确信这是因为PATH变量包含sqlite(/usr)的rpm安装和我安装的编译版本(/usr/local)的so文件。我无法删除现有的sqlite,因为它与rpm的安装有关,所以我想做的是向我的配置文件或bashrc中添加任何我需要的内容,或者添加任何其他需要的黑魔法,以允许一些用户运行更新的sqlite安装,而其他用户只是默认为原始安装
其他资料:
# cat /etc/*-release
Enterprise Linux Enterprise Linux Server release 5.6 (Carthage)
Oracle Linux Server release 5.6
Red Hat Enterprise Linux Server release 5.1 (Tikanga)
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
# uname -m
x86_64
有人能告诉我如何才能让sqlite的两个副本很好地配合使用吗?您尝试过subversion的错误消息所建议的吗 …从以下位置获取sqlite 3.6.13合并: 打开包装 使用tar/gunzip进行归档,并从生成的 目录至: /root/installs/subversion-1.6.17/sqlite合并/sqlite3.c
说实话,我对什么是“合并”不太了解。我宁愿使用mosamalgation,这意味着所有SQLiteC代码都在一个文件(sqlite3.C)中;根据错误消息,您将它复制到/root/installs/subversion-1.6.17/sqlite-mergation/,然后subversion应该可以使用它。哎呀,让我们再试一次。说实话,我对什么是“合并”不太了解。我宁愿使用最新版本的sqlite和subversion一起工作,而不是API屏蔽的旧版本。我想我会让它转一转,看看它会引向何方。谢谢你。我现在就这么做,让你知道事情的进展。我仍然希望能够使用sqlite的新版本,而不必这样做——我猜您称之为“静态链接”。除了合并路线,还有什么想法吗?看起来好像成功了。我在我的配置脚本中添加了行
——with sqlite=/root/installs/sqlite-mergation-3070701/sqlite3.c
,并愉快地配置了subversion,随后安装了它。但是,我仍然无法从命令行访问较新的sqlite版本。我会再过一两天开放这个网站,看看是否有其他人对此有任何想法,或者我是否偶然发现了一个解决方案。如果没有其他问题,我会把你的答案标记为接受答案。再次感谢!