刚刚安装了SQlite3与自制,但当我去运行它时,我得到以下内容:
SQLite header and source version mismatch
2011-06-25 16:35:41 8f8b373eed7052e6e93c1805fc1effcf1db09366
2012-01-16 13:28:40 ebd01a8deffb5024a5d7494eef800d2366d97204
注意到Linux和Ubuntu上的人有时会有这个问题,但我在Mac (OS X 10.7.5)上,所以同样的解决方案在终端上不起作用。
假设某个地方安装了另一个版本,但不知道如何解决这个问题(相当新,所以请解释一下)。
有什么建议吗?
我在评论中留下了一个答案,但我想正式回答一下什么对我有效:
- 我复制了我的/usr/bin 中的sqlite3 exec文件
- 我将/usr/local/bin中的sqlite3 exec替换为我从/usr/bin 中制作的副本。
现在可以正常工作了!(我还保存了旧的Sqlite3 exec文件为。old以防我遇到任何错误)
我想你曾经安装过sqlite3作为另一个安装的依赖项。这个安装由pkg-manager执行,将把sqlite3安装到/usr/bin/
中。
我假设这次您希望从构建其源代码开始安装sqlite3。当您手动安装sqlite3时,./configure
脚本将假定您的前缀为:/usr/local/bin
。
如果你不想要这个冲突,试试:./configure --prefix=/usr/
表示您要安装到/usr/bin/
,从而替换旧的。
对
在Ubuntu 12.04 LTS上,通过复制/usr/local/lib
的版本来替换/usr/lib/i386-linux-gnu
中的libsqlite3.so.0
和libsqlite3.so.0.8.6
,并覆盖/usr/lib/i386-linux-gnu
中的版本也为我解决了sqlite3问题。
Skype 4.2 for Linux
的工作,导致消息
skype美元skype:加载共享库时出现错误:libsqlite3.so。0:错误的ELF类:ELFCLASS64
这主要是因为sqlite3客户端和其他二进制文件不匹配。在我的例子中
IN-PF1CCNV7:/usr/lib64 # rpm -qa | grep sqlite sqlite3-3.28.0-lp151.2.3.1。x86_64 libsqlite3 - 0 - 3.23.1 - 1.10。x86_64 sqlite3-devel-3.23.1-lp150.1.1。x86_64 IN-PF1CCNV7:/usr/lib64 # zypper install sqlite3
我卸载了sqlite3并安装了与sqlite3-devel相同的rpm
就发生在我的Centos 7上。
我解决了移动二进制文件到/usr/lib64和/usr/bin
mv /opt/usr/bin/sqlite3 /usr/lib64
mv /opt/usr/bin/sqlite3 /usr/bin
/usr/include
mv /opt/usr/include/sqlite3.h /usr/include/sqlite3.h
mv /opt/usr/include/sqlite3ext.h /usr/include/sqlite3ext.h
和/usr/lib64中的库
mv /opt/usr/bin/sqlite3 /usr/lib64/
cp /usr/lib64/ /usr/bin/