This project is currently under development and is NOT ready to use in a production environment. Expect significant changes to the API.
Doxygen generated docs located here
The riak-c-client depends on riak_pb, which is automatically downloaded via ./autogen.sh
as part of a normal build. The branch/tag that riak_pb uses is recorded in .\.riak_pb.vsn
.
Be sure Xcode, command-line tools and Home Brew installed first.
brew install git automake autoconf libtool pkg-config protobuf protobuf-c libevent cunit doxygen glib
git clone https://github.com/basho/riak-c-client
cd riak-c-client
./autogen.sh
./configure CFLAGS=-I/usr/local/Cellar/protobuf-c/0.15/include
make
make check
doxygen
make install
Note: There appears to a conflict between the required version of libprotobuf installed on the system by default, so we need to put our version in its own directory.
sudo apt-get update
sudo apt-get install build-essential git automake libtool doxygen
wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
tar fx protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure --prefix=/usr/local/protobuf-2.5.0
make
make check
sudo make install
cd ..
wget https://protobuf-c.googlecode.com/files/protobuf-c-0.15.tar.gz
tar fx protobuf-c-0.15.tar.gz
cd protobuf-c-0.15
./configure CXXFLAGS=-I/usr/local/protobuf-2.5.0/include LDFLAGS=-L/usr/local/protobuf-2.5.0/lib PATH=/usr/local/protobuf-2.5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
make
make check
sudo make install
cd ..
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar fx libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
LD_LIBRARY_PATH=/usr/local/protobuf-2.5.0/lib:/usr/local/lib make check
sudo make install
cd ..
wget http://sourceforge.net/projects/cunit/files/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2
tar fx CUnit-2.1-2-src.tar.bz2
cd CUnit-2.1-2
./configure
make
make check
sudo make install
cd ..
git clone https://github.com/basho/riak-c-client
cd riak-c-client
./autogen.sh
LDFLAGS="-Wl,-rpath=/usr/local/protobuf-2.5.0/lib,--enable-new-dtags" ./configure PKG_CONFIG_PATH=/usr/local/protobuf-2.5.0/lib/pkgconfig
make
make check
doxygen
make install
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar fx libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make check
sudo make install
cd ..
wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
tar fx protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make
make check
sudo make install
cd ..
wget https://protobuf-c.googlecode.com/files/protobuf-c-0.15.tar.gz
tar fx protobuf-c-0.15.tar.gz
cd protobuf-c-0.15
./configure LDFLAGS="-L/usr/local/lib"
make
make check
sudo make install
cd ..
wget http://downloads.sourceforge.net/project/cunit/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2
tar fx CUnit-2.1-2-src.tar.bz2
cd CUnit-2.1-2
./configure
make
make check
sudo make install
cd ..
git clone https://github.com/basho/riak-c-client
cd riak-c-client
./autogen.sh
./configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
make
make check
doxygen
make install
Add to PATH:
/usr/local/bin
sudo pkg install -v pkg:/developer/gcc-45@4.5.2-0.175.1.0.0.24.0
sudo pkg install -v pkg:/developer/build/automake-111@1.11.2-0.175.1.0.0.24.0
sudo pkg install -v pkg:/developer/build/autoconf@2.68-0.175.1.0.0.24.0
sudo pkg install -v pkg:/developer/versioning/git@1.7.9.2-0.175.1.0.0.24.0
sudo pkg install -v pkg:/developer/documentation-tool/doxygen@1.7.6.1-0.175.1.0.0.24.0
sudo pkg install -v pkg:/developer/build/libtool@2.4.2-0.175.1.0.0.24.0
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar fx libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure CFLAGS="-m64"
make
make check
sudo make install
cd ..
wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
tar fx protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure CFLAGS="-m64"
make
make check
sudo make install
cd ..
wget https://protobuf-c.googlecode.com/files/protobuf-c-0.15.tar.gz
tar fx protobuf-c-0.15.tar.gz
cd protobuf-c-0.15
./configure CFLAGS="-m64" CXXFLAGS="-I/usr/local/include -m64" LDFLAGS="-L/usr/local/lib/amd64" PATH="/usr/local/bin:/usr/bin:/usr/sbin" LIBS="-lnsl -lsocket -lresolv"
make
make check
sudo make install
cd ..
wget http://downloads.sourceforge.net/project/cunit/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2
tar fx CUnit-2.1-2-src.tar.bz2
cd CUnit-2.1-2
./configure CFLAGS="-m64"
make
make check
sudo make install
cd ..
git clone https://github.com/basho/riak-c-client
cd riak-c-client
./autogen.sh
./configure CFLAGS="-m64" PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib/amd64/pkgconfig
make
make check
doxygen
make install
pkg install sudo-1.8.8 (as root)
sudoedit /usr/local/etc/sudoers
sudo pkg install git-1.8.5.2
sudo pkg install gcc-4.6.4
sudo pkg install autoconf-2.69
sudo pkg install automake-1.14
sudo pkg install libtool-2.4.2_2
sudo pkg install libevent2-2.0.21
sudo pkg install protobuf-2.5.0_1
sudo pkg install protobuf-c-0.15_1
sudo pkg install gmake-3.82_1
sudo pkg install wget-1.15
wget http://sourceforge.net/projects/cunit/files/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2
tar fx CUnit-2.1-2-src.tar.bz2
cd CUnit-2.1-2
CC=gcc46 ./configure
make
make check
sudo make install
sudo mv /usr/local/lib/pkgconfig/cunit.pc /usr/local/libdata/pkgconfig
cd ..
git clone https://github.com/basho/riak-c-client
cd riak-c-client
./autogen.sh
CC=gcc46 ./configure
make
make check
doxygen
make install
Please use the riak-users mailing list for questions + comments:
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
If you want to help code, write documentation, or test the Riak C Client:
riak-c-client
repogit checkout -b my_branch
http://www.apache.org/licenses/LICENSE-2.0.html
© 2014 Basho Technologies