I decided to look in to HyperDex again and found someone beat me to making a php extension. Emboldened to get it up and running for a pet project, I wanted to see if I could build Hyperdex itself from source on my newest Ubuntu 12.10 VM before tackling the php extension.
I followed Göran Krampe‘s install instructions and ran into a few hiccups. He installs a couple libraries we don’t need, and misses python-sphinx as well. Here is my update:
$ sudo apt-get install git autoconf automake autoconf-archive \ libtool python-dev python-pyparsing cython libpopt-dev \ libcityhash-dev g++ libgoogle-glog-dev libleveldb-dev \ bison gperf flex python-sphinx
The rest is mostly the same until the end since we don’t need the python bindings.
git clone git://git.hyperdex.org/po6.git git clone git://git.hyperdex.org/e.git git clone git://git.hyperdex.org/busybee.git git clone git://git.hyperdex.org/replicant.git git clone git://git.hyperdex.org/HyperDex.git cd po6 && autoreconf -i; ./configure; make && sudo make install cd ../e && autoreconf -i; ./configure; make && sudo make install cd ../busybee && autoreconf -i; ./configure; make && sudo make install cd ../replicant && autoreconf -i; ./configure; make && sudo make install cd ../HyperDex && autoreconf -i; ./configure; make && sudo make install
When it came time to test HyperDex out, it showed me no love.
$ hyperdex daemon --help hyperdex daemon: error while loading shared libraries: libe.so.0: cannot open shared object file: No such file or directory
Looking back through the build spam I see that I need to add /usr/local/lib to my LD_LIBRARY_PATH. Since I want this in my path on boot, lets add it to our ld.so
$ sudo nano /etc/ld.so.conf.d/e.conf
#export needed for 'e' library for HyperDex execution /usr/local/lib
Save it then reload the ldconfig:
$ ldconfig
Now, HyperDex starts up swimmingly:
$ hyperdex daemon --help
Next step: building php-hyperdex!