Apr
Thrift on Fedora Core 10
[root@thrift thrift]# yum install zlib-devel
It all started with a project i work on having a mysql database with 1mil+ records and 10GB of disk space on a rather slow server, i failed to setup mysql distributed with federated storage engine and i was looking for a distributed database project and found hypertable. But i code PHP, so what should i do ? Hypertable offers PHP support only through a third party called thrift. It looks like thrift project (started by facebook and now an apache project ) can generate code to access hypertable into your programming language. Here is my experience compiling thrift on FC 10
[root@thrift /]# yum install gcc-c++
[root@thrift /]# cd /tmp/
[root@thrift tmp]# wget -O thrift.tgz “http://gitweb.thrift-rpc.org/?p=thrift.git;a=snapshot;h=HEAD;sf=tgz”
[root@thrift tmp]# tar zxvf thrift.tgz
[root@thrift tmp]# cd thrift
[root@thrift thrift]# ./bootstrap.sh
./bootstrap.sh: line 24: autoscan: command not found
[root@thrift thrift]# yum install autoconf
[root@thrift thrift]# ./bootstrap.sh
./bootstrap.sh: line 25: aclocal: command not found
[root@thrift thrift]# yum install automake
[root@thrift thrift]# ./bootstrap.sh
configure.ac:44: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:26: installing `./install-sh’
configure.ac:26: installing `./missing’
compiler/cpp/Makefile.am: installing `./depcomp’
configure.ac: installing `./ylwrap’
lib/cpp/Makefile.am:24: Libtool library used but `LIBTOOL’ is undefined
lib/cpp/Makefile.am:24: The usual way to define `LIBTOOL’ is to add `AC_PROG_LIBTOOL’
lib/cpp/Makefile.am:24: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
lib/cpp/Makefile.am:24: If `AC_PROG_LIBTOOL’ is in `configure.ac’, make sure
lib/cpp/Makefile.am:24: its definition is in aclocal’s search path.
test/Makefile.am:30: Libtool library used but `LIBTOOL’ is undefined
test/Makefile.am:30: The usual way to define `LIBTOOL’ is to add `AC_PROG_LIBTOOL’
test/Makefile.am:30: to `configure.ac’ and run `aclocal’ and `autoconf’ again.
test/Makefile.am:30: If `AC_PROG_LIBTOOL’ is in `configure.ac’, make sure
test/Makefile.am:30: its definition is in aclocal’s search path.
[root@thrift thrift]# ./configure –with-csharp=no –with-java=no –with-erlang=no –with-py=no –with-perl=no –with-ruby=no –with-php=yes –enable-gen-php
……
checking for boostlib >= 1.33.1… configure: error: We could not detect the boost libraries (version 1.33 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to –with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.
[root@thrift thrift]# yum install boost boost-devel
[root@thrift thrift]# ./configure –with-csharp=no –with-java=no –with-erlang=no –with-py=no –with-perl=no –with-ruby=no –with-php=yes –enable-gen-php
….
checking for zlib >= 1.2.3… no
./configure: line 5866: syntax error near unexpected token `MONO,’
./configure: line 5866: ` PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)’
[root@thrift thrift]# yum install zlib-devel
……
./configure: line 5866: syntax error near unexpected token `MONO,’
./configure: line 5866: ` PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)’
[root@thrift thrift]# yum install pkgconfig
[root@thrift thrift]# ./bootstrap.sh
[root@thrift thrift]# ./configure –with-csharp=no –with-java=no –with-erlang=no –with-py=no –with-perl=no –with-ruby=no –with-php=yes –enable-gen-php
[root@thrift thrift]# ./bootstrap.sh
configure.ac:44: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:26: installing `./install-sh’
configure.ac:26: installing `./missing’
compiler/cpp/Makefile.am: installing `./depcomp’
configure.ac: installing `./ylwrap’
lib/cpp/Makefile.am:24: Libtool library used but `LIBTOOL’ is undefined
[root@thrift thrift]# yum install libtool
[root@thrift thrift]# ./bootstrap.sh
[root@thrift thrift]# ./configure –with-csharp=no –with-java=no –with-erlang=no –with-py=no –with-perl=no –with-ruby=no –enable-gen-php
[root@thrift thrift]# make
../../ylwrap: line 109: yacc: command not found
[root@thrift thrift]# yum install byacc
[root@thrift thrift]# make
/tmp/thrift/missing: line 52: flex: command not found
WARNING: `flex’ is missing on your system. You should only need it if
you modified a `.l’ file. You may need the `Flex’ package
in order for those modifications to take effect. You can get
`Flex’ from any GNU archive site.
[root@thrift thrift]# yum install flex
[root@thrift thrift]# ./configure –with-csharp=no –with-java=no –with-erlang=no –with-py=no –with-perl=no –with-ruby=no –enable-gen-php
[root@thrift thrift]# make
[root@thrift thrift]# make install