Building Cassandra Storage Engine for Packaging
THIS PAGE IS OBSOLETE, it describes how to build a branch of MariaDB-5.5 with Cassandra SE. Cassandra SE is a part of MariaDB 10.0, which uses different approach to building.
These are instructions on how exactly we build Cassandra SE packages.
Getting into build environment
See How_to_access_buildbot_VMs page on the internal wiki. The build VM to use is
ezvm precise-amd64-build
Get into the VM and continue to next section.
Set up Thrift
mkdir build cd build wget https://dist.apache.org/repos/dist/release/thrift/0.8.0/thrift-0.8.0.tar.gz sudo apt-get install bzr sudo apt-get install flex tar zxvf thrift-0.8.0.tar.gz cd thrift-0.8.0/ ./configure --prefix=/home/buildbot/build/thrift-inst --without-qt4 --without-c_glib --without-csharp --without-java --without-erlang --without-python --without-perl --without-php --without-php_extension --without-ruby --without-haskell --without-go --without-d make make install # free some space make clean cd ..
Get the bzr checkout
- Create another SSH connection to terrier, run the script suggested by motd.
- Press (C-a C-c) to create another window
- Copy the base bazaar repository into the VM:
scp /home/psergey/5.5-cassandra-base.tgz runvm:
Then, get back to the window with VM, and run in VM:
tar zxvf ../5.5-cassandra-base.tgz rm -rf ../5.5-cassandra-base.tgz cd 5.5-cassandra/ bzr pull lp:~maria-captains/maria/5.5-cassandra
Compile
export LIBS="-lthrift" export LDFLAGS=-L/home/buildbot/build/thrift-inst/lib mkdir mkdist cd mkdist cmake .. make dist
basename mariadb-*.tar.gz .tar.gz > ../distdirname.txt cp mariadb-5.5.25.tar.gz ../ cd .. tar zxf "mariadb-5.5.25.tar.gz" mv "mariadb-5.5.25" build cd build mkdir mkbin cd mkbin cmake -DBUILD_CONFIG=mysql_release .. make -j4 package
This should end with:
CPack: - package: /home/buildbot/build/5.5-cassandra/build/mkbin/mariadb-5.5.25-linux-x86_64.tar.gz generated.
Free up some disk space:
rm -fr ../../mkdist/
mv mariadb-5.5.25-linux-x86_64.tar.gz ../.. cd ../.. rm -rf build
Patch the tarball to include Thrift
mkdir fix-package cd fix-package tar zxvf ../mariadb-5.5.25-linux-x86_64.tar.gz
Verify that mysqld was built with Cassandra SE:
ldd mariadb-5.5.25-linux-x86_64/bin/mysqld
This should point to libthrift-0.8.0.so.
cp /home/buildbot/build/thrift-inst/lib/libthrift* mariadb-5.5.25-linux-x86_64/lib/ tar czf mariadb-5.5.25-linux-x86_64.tar.gz mariadb-5.5.25-linux-x86_64/ cp mariadb-5.5.25-linux-x86_64.tar.gz ..
Copy the data out of VM
In the second window (the one that's on terrier, but not in VM), run:
mkdir build-cassandra cd build-cassandra scp runvm:/home/buildbot/build/5.5-cassandra/mariadb-5.5.25.tar.gz . scp runvm:/home/buildbot/build/5.5-cassandra/mariadb-5.5.25-linux-x86_64.tar.gz .
References
© 2021 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/building-cassandra-storage-engine-for-packaging/