位置:首页 » Sphinx教程 » Sphinx安装

Sphinx安装 [编辑]

Sphinx安装

1. 支持的操作系统
在绝大多数现代的Unix类操作系统上,只需要一个C++编译器就可以编译并运行Sphinx,
而不需要对源码进行任何改动。
目前,Sphinx可以在以下系统上运行:
 Linux 2.4.x, 2.6.x (包括各种发行版)
 Windows 2000, XP
 FreeBSD 4.x, 5.x, 6.x
 NetBSD 1.6, 3.0
 Solaris 9, 11
 Mac OS X
支持的CPU种类包括X86, X86-64, SPARC64。
我希望Sphinx也能够在其他的Unix平台上工作,如果你运行Sphinx使用的操作系统不在上
面的名单中,请告诉我。
目前的阶段,Sphinx的Windows版可用于测试和调试,但不建议用于生产系统。最突出的
两个问题是:1)缺少并发查询的支持;2)缺少索引数据热切换的支持。虽然目前已经有成
功的生产环境克服了这两个问题,仍然不推荐在Windows下运行Sphinx提供高强度的搜索
服务。
2. 依赖的工具
在UNIX平台上,你需要以下的工具用来编译和安装Sphinx:
 C++编译器。GNU gcc 就能够干这个活。
 make程序。GNU make 就能够干这个活。
在Windows平台上,你需要Microsoft Visual C/C++ Studio .NET 2003 or 2005。其他的编译器
/开发环境也许也能搞定这件事,但你可能需要自己手工制作他们所需的Makefile或者工程
文件。
3. 安装Sphinx
(1). 将你下载的tar包解压,并进入sphinx 子目录:
$ tar xzvf sphinx-0.9.7.tar.gz
$ cd sphinx
(2). 运行configuration 程序:
$ ./configure
configure程序有很多运行选项。完整的列表可以通过使用 --help 开关得到。最重
要的如下:
 --prefix, 定义将Sphinx安装到何处;
 --with-mysql, 当自动检测失败时,指出在那里能找到MySQL 头文件和库
文件;
 --with-pgsql, 指出在那里能找到PostgreSQL头文件和库文件。
(3). 制作二进制程序:
$ make
(4). 按照二进制程序到你选好的目录下:
$ make install

4. 已知的问题和解决方法
如果configure 程序没有找到MySQL 的头文件和库文件,请试图检查 mysql-devel 这
个包是否安装了。在有些系统上,默认安装包括这个包。
如果make程序给出如下错误提示,
/bin/sh: g++: command not found
make[1]: *** [libsphinx_a-sphinx.o] Error 127
请检查gcc-c++ 这个包是否安装了。
如果你在编译时得到如下错误
sphinx.cpp:67: error: invalid application of `sizeof' to
incomplete type `Private::SizeError<false>'

这意味着某些编译时的类型检查失败了,一个最有可能的原因是在你的系统上类型off_t的
长度小于64bit。一个快速的修复手段是,你可以修改sphinx.h ,将在定义类型SphOffset_t
处,将off_t 替换成DWORD,需要注意,这种改动将使你的全文索引文件不能超过2GB。
即便这种修改有用,也请汇报这一问题,在汇报中请包括具体的错误信息以及操作系统编译
器的配置情况。这样,可能能够在下一个版本中解决这一问题。