Skip to content

Instantly share code, notes, and snippets.

@tommarute
Last active February 3, 2022 22:22
Show Gist options
  • Save tommarute/e5476db68b4aa644dadae66e7e65059b to your computer and use it in GitHub Desktop.
Save tommarute/e5476db68b4aa644dadae66e7e65059b to your computer and use it in GitHub Desktop.
#!/bin/bash
set -ex
gcc_ver=$(gcc --version | head -n 1 | awk '{print $3}')
# Install gcc 4.9 devtoolset
if [[ ! "$gcc_ver" =~ 4\.9\.* ]]; then
sudo yum install epel-release -y
sudo yum install centos-release-scl -y
sudo yum install devtoolset-3-toolchain -y
# Switch to gcc 4.9 env
scl enable devtoolset-3 bash
fi
# Required -- Install dependent packages
sudo yum install \
gcc \
gcc-c++ \
autoconf \
autoconf-archive \
automake \
boost-devel \
libtool \
lz4-devel \
xz-devel \
snappy-devel \
zlib-devel \
scons \
double-conversion-devel \
openssl-devel \
libevent-devel \
git \
cmake3.x86_64 \
-y
# Optional -- Install dependent packages
sudo yum install \
libdwarf-devel \
elfutils-libelf-devel \
libunwind-devel.x86_64 \
-y
# Add `/usr/local/lib` to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="/usr/local/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH}"
# Download && Compile && Install gflags
# Current Directory /home/big_data
if [ ! -d "gflags" ]; then
git clone https://github.com/schuhschuh/gflags.git
fi
mkdir gflags/build
(
set -ex
cd gflags/build && \
cmake3 -DGFLAGS_NAMESPACE=google -DBUILD_SHARED_LIBS=on .. && \
make -j && \
sudo make install
)
# Download && Compile && Install glog
# Current Directory /home/big_data
if [ ! -d "glog" ]; then
git clone https://github.com/google/glog.git
fi
(
set -ex
cd glog && \
autoreconf -ivf && \
./configure --with-gflags=/usr/local/lib && \
make -j && \
sudo make install
)
# Download folly and gtest
# Current Directory /home/big_data
if [ ! -d "folly" ]; then
git clone https://github.com/facebook/folly.git
fi
(
set -ex
cd folly/folly/test && \
rm -rf gtest && \
wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz && \
tar zxf release-1.8.0.tar.gz && \
rm -f release-1.8.0.tar.gz && \
mv googletest-release-1.8.0 gtest
)
# Compile && Install folly
# Current Directory: /home/bigdata/folly/folly
(
set -ex
cd folly/folly && \
autoreconf -ivf && \
./configure && \
make -j && \
sudo make install
)
# Required -- Install dependent packages
sudo yum install \
double-conversion-devel.x86_64 \
jemalloc-devel.x86_64 \
boost-devel.x86_64 \
openssl-devel.x86_64 \
libunwind-devel.x86_64 \
-y
# Optional -- Install dependent packages
sudo yum install boost-system.x86_64 \
-y
sudo yum -y install libX11-devel \
libXt-devel \
mesa-libGL-devel \
libXmu-devel
# Download && Compile && Install wdt
# Current Directory /home/big_data
if [ ! -d "wdt" ]; then
git clone https://github.com/facebook/wdt.git
fi
(
set -ex
cd wdt && \
cmake3 . -DBUILD_TESTING=on && \
make -j && \
CTESET_OUTPUT_ON_FAILURE=1 make test && \
sudo make install
)
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment