我在 Ubuntu 上安装 Sphinx(本地和 Sphinx 2.0.2)从来没有遇到过任何问题。开箱即用。今天我尝试在 Amazon EC2 上的 Ubuntu 11.10 上安装 Sphinx 2.0.3。
我像往常一样从“./configure --prefix=/home/sphinx”开始。所有 MySQL 库和必需包都已就绪。
它只是没有通过“检查 pthreads 所需的 CFLAGS...“。下面是输出。也尝试了 Sphinx 2.0.2。没有运气。
顺便说一句,您可以注意到在“检查头文件”块下存在 pthread 头:
.....
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
....
我应该检查什么?
checking build environment
--------------------------
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for compiler programs
------------------------------
checking whether to compile debug version... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for header files
-------------------------
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking netdb.h usability... yes
checking netdb.h presence... yes
checking for netdb.h... yes
checking netinet/in.h usability... yes
checking netinet/in.h presence... yes
checking for netinet/in.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking expat.h usability... no
checking expat.h presence... no
checking for expat.h... no
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking sql.h usability... no
checking sql.h presence... no
checking for sql.h... no
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for types
------------------
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for off_t... yes
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking for library functions
------------------------------
checking for pid_t... yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking for sys/socket.h... (cached) yes
checking types of arguments for select... int,fd_set *,struct timeval *
checking return type of signal handlers... void
checking whether lstat correctly handles trailing slash... yes
checking whether stat accepts an empty string... no
checking for vprintf... yes
checking for _doprnt... no
checking for library containing setsockopt... none required
checking for library containing gethostbyname... none required
checking for library containing XML_Parse... no
checking for library containing iconv... none required
checking for library containing inflate... -lz
checking for library containing logf... -lm
checking for dup2... yes
checking for gethostbyname... yes
checking for gettimeofday... yes
checking for memmove... yes
checking for memset... yes
checking for select... yes
checking for socket... yes
checking for strcasecmp... yes
checking for strchr... yes
checking for strerror... yes
checking for strncasecmp... yes
checking for strstr... yes
checking for strtol... yes
checking for logf... yes
checking for pread... yes
checking for backtrace... yes
checking for backtrace_symbols... yes
checking for clock_gettime in -lrt... yes
checking for clock_gettime... yes
checking for LOCK_EX in sys/file.h... yes
checking for F_SETLKW in fcntl.h... yes
checking for dlopen in -ldl... yes
checking for dlopen... yes
checking for dlerror... yes
configuring Sphinx
------------------
checking for CFLAGS needed for pthreads...
答案1
我刚刚从这个 ppa 安装了 11.10,没有问题:https://launchpad.net/~chris-lea/+archive/sphinxsearch
当然,如果您需要从源代码构建,那就不好了。