From d6336563e58e1d8f421862b75b18ffcebd156467 Mon Sep 17 00:00:00 2001 From: Istvan Szukacs Date: Mon, 26 Feb 2018 15:17:22 -0800 Subject: [PATCH] Adding CentOS 7 Vagrantfile & build script Summary: I have updated the Vagrantfile to have an entry for CentOS 7. Also created a simple build script which is pretty similar to the one in Beringei. How to test: ``` vagrant up centos7 ``` Todo: Implement -j X for the build. Closes https://github.com/facebook/rocksdb/pull/3530 Differential Revision: D7090739 Pulled By: ajkr fbshipit-source-id: 9f9eda5b507568993543d08de7ce168dfc12282e --- Vagrantfile | 5 +++++ build_tools/setup_centos7.sh | 43 ++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 build_tools/setup_centos7.sh diff --git a/Vagrantfile b/Vagrantfile index d7c2991d7..07f2e99fd 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -14,6 +14,11 @@ Vagrant.configure("2") do |config| box.vm.box = "chef/centos-6.5" end + config.vm.define "centos7" do |box| + box.vm.box = "centos/7" + box.vm.provision "shell", path: "build_tools/setup_centos7.sh" + end + config.vm.define "FreeBSD10" do |box| box.vm.guest = :freebsd box.vm.box = "robin/freebsd-10" diff --git a/build_tools/setup_centos7.sh b/build_tools/setup_centos7.sh new file mode 100755 index 000000000..c633131de --- /dev/null +++ b/build_tools/setup_centos7.sh @@ -0,0 +1,43 @@ +#!/bin/bash +set -e + +ROCKSDB_VERSION="5.10.3" +ZSTD_VERSION="1.1.3" + +echo "This script configures CentOS with everything needed to build and run RocksDB" + +yum update -y && yum install epel-release -y + +yum install -y \ + wget \ + gcc-c++ \ + snappy snappy-devel \ + zlib zlib-devel \ + bzip2 bzip2-devel \ + lz4-devel \ + libasan \ + gflags + +mkdir -pv /usr/local/rocksdb-${ROCKSDB_VERSION} +ln -sfT /usr/local/rocksdb-${ROCKSDB_VERSION} /usr/local/rocksdb + +wget -qO /tmp/zstd-${ZSTD_VERSION}.tar.gz https://github.com/facebook/zstd/archive/v${ZSTD_VERSION}.tar.gz +wget -qO /tmp/rocksdb-${ROCKSDB_VERSION}.tar.gz https://github.com/facebook/rocksdb/archive/v${ROCKSDB_VERSION}.tar.gz + +cd /tmp + +tar xzvf zstd-${ZSTD_VERSION}.tar.gz +tar xzvf rocksdb-${ROCKSDB_VERSION}.tar.gz -C /usr/local/ + +echo "Installing ZSTD..." +pushd zstd-${ZSTD_VERSION} +make && make install +popd + +echo "Compiling RocksDB..." +cd /usr/local/rocksdb +chown -R vagrant:vagrant /usr/local/rocksdb/ +sudo -u vagrant make static_lib +cd examples/ +sudo -u vagrant make all +sudo -u vagrant ./c_simple_example