© 2024 WebHive

Как установить Sphinx 0.9 на Debian

Потребовалось поднять локально проект, жёстко завязанный на sphinx. Причем sphinx дремучей 0.9 версии. Сходу возникли проблемы. Для родной системы (у меня Arch) сборок нет — такое старьё в репах не держат. Собрать из исходников так-же оказалось невозможным — требует старой версии gcc.

В результате установил в virtualbox-е Debian — ту-же версию, что использовалась на сервере проекта. Сходу Debian надежд не оправдал — пакета с такой версией sphinx так-же не оказалось.

Поэтому накурившись манов приступил к ручной установке.

Ставим зависимости

1
apt-get install sudo g++ g++-4.4

Выбираем нужную версию gcc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 20

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 20

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc

sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

везде выбираем gcc 4.4

Ставим с исходников

Распаковываем

1
2
3
4
wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz
rm -rf sphinx-0.9.9
tar -xzvf sphinx-0.9.9.tar.gz
cd sphinx-0.9.9

Конфигурируем и компилируем — в моём случае postgresql был не нужен

1
2
3
4
./configure --with-mysql --without-pgsql --prefix=/usr --localstatedir=/var --sysconfdir=/etc/sphinx
rm -rf /tmp/install-sphinx-0.9.9
mkdir /tmp/install-sphinx-0.9.9
make install DESTDIR=/tmp/install-sphinx-0.9.9

Собираем пакет

1
fpm -sdir -a i386 -t deb -n sphinx -v 0.9.9 -C /tmp/install-sphinx-0.9.9 -p sphinx-VERSION_ARCH.deb usr/bin usr/etc usr/var

Устанавливаем собранный пакет

1
sudo dpkg -i ./sphinx-0.9.9/sphinx_0.9.9-1_i386.deb

Вот собственно и все — ключевой момент всего квеста gcc версии не выше 4.4, остальное так — присказка.

Ссылки по теме

Комментарии