MAKE Ошибка при установке Sphinx -Arch Linux - PullRequest
1 голос
/ 21 октября 2011

Кажется, у меня та же проблема, что и у этого парня:

Я использую XAMPP в Arch Linux, каждый пакет обновляется до последней версии.

$ make
Making all in src
make[1]: Entering directory «.../src»
/bin/sh svnxrev.sh ..
make all-am
make[2]: Entering directory «/home/sphinx/src»
g++ -DHAVE_CONFIG_H -I. -I../config -DSYSCONFDIR="\"/home/sphinx/sphinx_bin/etc\""
-DDATADIR="\"/home/sphinx/sphinx_bin/var/data\"" -I/usr/local/include -I/mysql/include
-I/mysq/include -L/mysql/lib -Wl,--rpath -Wl,/mysql/lib -fno-exceptions -g -Wall -g
-D_FILE_OFFSET_BITS=64 -O3 -DNDEBUG -MT sphinx.o -MD -MP -MF .deps/sphinx.Tpo -c -o
sphinx.o sphinx.cpp
sphinx.cpp: In constructor �?WordformContainer_t::WordformContainer_t()’:
sphinx.cpp:15614:27: warning: �?WordformContainer_t::m_pMultiWordforms’ will be
initialized after
sphinx.cpp:15611:15: warning: �?uint64_t WordformContainer_t::m_uTokenizerFNV’
sphinx.cpp:15904:1: warning: when initialized here
sphinx.cpp: In function �?int xmlUnknownEncoding(void*, const XML_Char*,
XML_Encoding*)’:
sphinx.cpp:21575:10: error: �?XML_STATUS_ERROR’ was not declared in this scope
sphinx.cpp:21599:9: error: �?XML_STATUS_OK’ was not declared in this scope
sphinx.cpp: In member function �?bool CSphSource_XMLPipe2::ParseNextChunk(int,
CSphString&)’:
sphinx.cpp:22112:76: error: �?XML_STATUS_OK’ was not declared in this scope
sphinx.cpp: In function �?int xmlUnknownEncoding(void*, const XML_Char*,
XML_Encoding*)’:
sphinx.cpp:21600:1: warning: control reaches end of non-void function
make[2]: *** [sphinx.o] Error 1
make[2]: leaving directory «/home/sphinx/src»
make[1]: *** [all] Error 2
make[1]: leaving directory «/home/sphinx/src»
make: *** [all-recursive] Error 1

Ответы [ 3 ]

2 голосов
/ 25 июля 2012

Комментарии в AUR пакете могут помочь.Два исходных файла необходимо изменить перед компиляцией.

[arch ~]# tar zxf sphinx-2.0.4-release.tar.gz
[arch ~]# cd sphinx-2.0.4-release
[arch sphinx-2.0.4-release]# sed -i 's/T val = ExprEval/T val = this->ExprEval/g' "src/sphinxexpr.cpp"
[arch sphinx-2.0.4-release]# sed -i '15083,15083 s/x00/x21/' "src/searchd.cpp"
[arch sphinx-2.0.4-release]# make
[arch sphinx-2.0.4-release]# make install
1 голос
/ 17 июля 2013

Решение emcconville прекрасно работает с установкой плагина http://wordpress.org/plugins/wordpress-sphinx-plugin/, в которой используется устаревший sphinx-0.9.9.sudo apt-get install libmysqlclient-dev Пакет также был необходим в Ubuntu

0 голосов
/ 30 октября 2011

Эта проблема была вызвана наличием 2 экземпляров expat.

Я обошел эту ошибку только для того, чтобы столкнуться с дальнейшими проблемами. Лучшее решение - отказаться от xampp и установить mysql / php / perl / etc вручную.

...