在Arch Linux上安装sphinx + re2

时间:2016-03-31 14:26:00

标签: linux package sphinx archlinux re2

我需要使用regexp_filter选项安装sphinx。 我已经用pacman安装了re2包。 在文档中,我看到我可以使用sphinx选项编译--with-re2包。但是,当我这样做时,我得到了错误。

checking whether to compile with RE2 library support... configure: error: missing re2 sources

此外,我还尝试设置make--with-re2-libs=/usr/lib/libre2.so --with-re2-includes=/usr/include/re2/ 选项。

checking whether to compile with RE2 library support... configure: error: missing re2 headers

但是我又遇到了另一个错误

ls /usr/include/re2

这是ls /usr/include/re2/ filtered_re2.h re2.h set.h stringpiece.h variadic_function.h

的输出
.active

有人安装吗?谢谢大家的帮助!

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。

我刚刚更换了

--with-re2-libs=/usr/lib/libre2.so --with-re2-includes=/usr/include/re2/

用这个

--with-re2-libs=/usr/lib/ --with-re2-includes=/usr/include/re2/

这里是完整的pkgbuild文件:

# Maintainer: Isaac Aronson <i at linux dotcom>
# Contributor: Dan Serban
# Contributor: Jim Casteel
# Contributor: dryes <joswiseman@gmail>
# Contributor: Vishnevsky Roman <aka dot x0x01 at gmail dot com>
# Contributor: Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
# Contributor: Aldo Culquicondor <alculquicondor@gmail.com>
# Contributor: Florijan Hamzic <florijanh@gmail.com>
pkgname='sphinx'
pkgver=2.2.10
pkgrel=2
pkgdesc='Free open-source SQL full-text search engine.'
arch=('i686' 'x86_64')
url='http://www.sphinxsearch.com/'
license=('GPL')
depends=('unixodbc' 'expat' 'libmysqlclient' 'postgresql-libs' 're2')
optdepends=('postgresql')
backup=('etc/conf.d/sphinx')
install='sphinx.install'
source=("http://sphinxsearch.com/files/${pkgname}-${pkgver}-release.tar.gz"
    'sphinx.conf.d'
    'sphinx.rc.d' 
    'sphinx.service'
    'sphinx.tmpfiles.conf')

build() {
  sed -i '15199,15199 s/x00/x21/' "${srcdir}/${pkgname}-${pkgver}-release/src/searchd.cpp"

  cd "${srcdir}/${pkgname}-${pkgver}-release"
  ./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var/lib/sphinx \
    --sysconfdir=/etc/sphinx --with-pgsql --enable-id64 --with-re2 --with-re2-include=/usr/include/re2 --with-re2-libs=/usr/lib/libre2.so

  make
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}-release"

  make DESTDIR="${pkgdir}" install

  for _f in "${pkgdir}/usr/bin/"*; do
    ln -s "/usr/bin/${_f##*/}" "${pkgdir}/usr/bin/sphinx-${_f##*/}"
  done

  install -Dm755 "${srcdir}/sphinx.rc.d" "${pkgdir}/etc/rc.d/sphinx"
  install -Dm644 "${srcdir}/sphinx.conf.d" "${pkgdir}/etc/conf.d/sphinx"
  install -Dm644 "${srcdir}/sphinx.service" "${pkgdir}/usr/lib/systemd/system/sphinx.service"
  install -d "${pkgdir}/usr/share/sphinx/lib"
  install -Dm644 api/sphinxapi.php "${pkgdir}/usr/share/sphinx/lib/sphinxapi.php"
  install -Dm644 api/sphinxapi.py "${pkgdir}/usr/share/sphinx/lib/sphinxapi.py"
  install -Dm644 "${srcdir}/sphinx.tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/sphinx.conf"
}
md5sums=('dda52b24d8348fc09e26d8a649a231d2'
         '48e3e1857919d26d5104a48caffb531b'
         'faaa8310af97ff1dbdaf08612e442020'
         'fe06a8aff0520a6f75596ee43d2e5935'
         '22ec4cd0471a1d52702d57d78614b8d8')