The following commands were used to compile MySQL 5.1.43 with Sphinx 0.9.9. This will install it in /opt. You may want to change the prefix accordingly.
Download the proper packages and following the following commands.
Note: For some reason, MySQL > 5.1.43 gives a “LT_INIT: command not found” error when compiling. Although it seems like it has something to do with autoconf < 2.2, this was ‘resolved’ by using an older release (5.1.43 instead of 5.1.44) at the time of this writing.
When configuring MySQL, if configure complains about something about no Sphinx, delete the entire MySQL source directory and try again from scratch.
Note: You should already have the following packages installed: libtermcap-devel libgcc-c++ libtool gcc make autoconf g++ gcc-c++
cd /root tar -xzf mysql-5.1.43.tar.gz tar -xzf sphinx-0.9.9.tar.gz
You may want to ignore this step if you do not want to compile sphinx with mysql.
cd mysql-5.1.43 cp -R ../sphinx-0.9.9/mysqlse/ storage/sphinx sh BUILD/autorun.sh
Configure MySQL and compile as usual
./configure --prefix=/opt/mysql --with-unix-socket-path=/opt/mysql/mysql.sock --without-man --enable-shared --without-debug --enable-assembler --with-ssl --with-plugins=sphinx CFLAGS=-O3 'CXXFLAGS=-O3 -fno-exceptions -felide-constructors -fno-rtti' CXX=gcc
make
make install
Setting up MySQL configuration and the initial database.
/bin/cp /root/my.cnf /etc/my.cnf /bin/cp support-files/mysql.server /etc/init.d/mysql chmod 755 /etc/init.d/mysql ln -s /etc/init.d/mysql /etc/rc3.d/S40mysql /bin/cp support-files/my-medium.cnf /etc/my.cnf /usr/sbin/useradd mysql cd /opt/mysql chown -R mysql . chgrp -R mysql . bin/mysql_install_db --user=mysql chown -R root . chown -R mysql var bin/mysqld_safe --user=mysql & chown mysql /opt/mysql
Set the lib paths of MySQL so the libmysqlclient.so or whatever else libraries can be found. This is required when attempting to compile anything that requires MySQL (including sphinx).
echo "/opt/mysql/lib/mysql" > /etc/ld.so.conf.d/mysql.conf ldconfig
Now that MySQL is done, we will compile Sphinx.
cd /root cd sphinx-0.9.9 ./configure --prefix=/opt/sphinx --with-mysql make make install
Post install steps:
/bin/cp /root/sphinx.conf /opt/sphinx/etc/sphinx.conf cp contrib/scripts/searchd /etc/init.d/ chmod 777 /etc/init.d/searchd ln -s /etc/init.d/searchd /etc/init.d/S55searchd