Micah P. Dombrowski / Dec 01 2019
Apache Arrow Builds
Build Env
echo 'deb http://archive.ubuntu.com/ubuntu/ disco main restricted
deb http://security.ubuntu.com/ubuntu/ disco-security main restricted' \
> /etc/apt/sources.list.d/disco.list
echo 'Package: *
Pin: release n=disco
Pin-Priority: -10
Package: cmake
Pin: release n=bionic
Pin-Priority: 500' > /etc/apt/preferences.d/disco-cmake.pref
0.2s
Arrow Build Env (Bash)
apt-get -qq update
3.5s
Arrow Build Env (Bash)
DEBIAN_FRONTEND=noninteractive apt-get install \
build-essential gfortran cmake automake libtool libltdl-dev pkg-config \
python3-pip python3-setuptools python3-wheel \
gnupg git lsb-release patch perl-doc \
fontconfig fonts-dejavu fonts-liberation2 \
libboost-dev libboost-filesystem-dev libboost-system-dev libboost-regex-dev libboost-test-dev \
libjemalloc-dev libevent-dev libdouble-conversion-dev libssl-dev libsnappy-dev libbrotli-dev libgoogle-glog-dev libgflags-dev libprotoc-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler python-protobuf libprotobuf-java libprotobuf-java-format-java rapidjson-dev liblz4-dev libzstd-dev libre2-dev \
openjdk-11-jdk openjdk-11-jre \
python-pip python-numpy llvm-7-dev clang-7 bison flex \
gobject-introspection gtk-doc-tools autoconf-archive libgirepository1.0-dev
#DEBIAN_FRONTEND=noninteractive apt-get install cmake -t disco
186.4s
Arrow Build Env (Bash)
wget --progress=bar:force -P /results \
http://apache.claz.org/thrift/0.13.0/thrift-0.13.0.tar.gz
1.7s
Arrow Build Env (Bash)
tar -zxf NJ__REF_
cd thrift-0.13.0
./configure CFLAGS='-O2' CXXFLAGS='-O2' \
--disable-dependency-tracking \
--disable-tutorial \
--disable-coverage
make -j5
make install
230.5s
Arrow Build Env (Bash)
git clone https://github.com/google/flatbuffers
2.9s
Arrow Build Env (Bash)
cd flatbuffers
rm -rf build
mkdir build
cd build
cmake -G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS="-fPIC -O2" \
-DFLATBUFFERS_BUILD_SHAREDLIB=ON \
..
make -j5
make install
100.7s
Arrow Build Env (Bash)
ldconfig
Shift+Enter to run
Arrow Build Env (Bash)
du -hsx /
thrift -version
flatc --version
1.1s
Arrow Build Env (Bash)
Build
CPP
wget --progress=bar:force -P /results \
http://apache.claz.org/arrow/arrow-0.15.1/apache-arrow-0.15.1.tar.gz
1.7s
Arrow Build (Bash)
Arrow Build Env
tar -zxf NJ__REF_
0.6s
Arrow Build (Bash)
Arrow Build Env
cd apache-arrow*/cpp
rm -rf build
mkdir build
cd build
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
cmake -DCMAKE_INSTALL_PREFIX="/opt/arrow" \
-DCMAKE_RULE_MESSAGES:BOOL=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DARROW_USE_LD_GOLD=ON \
-DCUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda" \
-DCMAKE_LIBRARY_PATH="/usr/local/cuda/lib64/stubs" \
-DARROW_CXXFLAGS="-fPIC" \
-DARROW_BUILD_SHARED=ON \
-DARROW_BOOST_USE_SHARED=ON \
-DBOOST_SOURCE=SYSTEM \
-DARROW_PROTOBUF_USE_SHARED=ON \
-DARROW_GFLAGS_USE_SHARED=ON \
-DARROW_TEST_LINKAGE=shared \
-DARROW_CUDA=ON \
-DARROW_GANDIVA=ON \
-DARROW_JNI=ON \
-DARROW_HDFS=OFF \
-DARROW_PARQUET=ON \
-DARROW_PLASMA=ON \
-DARROW_PLASMA_JAVA_CLIENT=ON \
-DARROW_PYTHON=ON \
-DARROW_TENSORFLOW=ON \
-DPARQUET_BUILD_EXECUTABLES=ON \
-DPARQUET_REQUIRE_ENCRYPTION=ON \
-DARROW_GANDIVA_STATIC_LIBSTDCPP=OFF \
-DARROW_GANDIVA_JAVA=OFF \
-DARROW_OPTIONAL_INSTALL=ON \
..
3.6s
Arrow Build (Bash)
Arrow Build Env
cd /apache-arrow*/cpp/build
make -j5 --no-print-directory
make install
382.5s
Arrow Build (Bash)
Arrow Build Env
GLIB
cd /apache-arrow*/c_glib
bash autogen.sh
rm -rf build
mkdir build
cd build
../configure \
--prefix=/opt/arrow --disable-dependency-tracking \
--with-arrow-cpp-build-type=release \
--with-arrow-cpp-build-dir="$(pwd)/../../cpp/build" \
--disable-gtk-doc --disable-gtk-doc-html --disable-gtk-doc-pdf
17.8s
Arrow Build (Bash)
Arrow Build Env
ldconfig
ldconfig -p | grep thrift
0.6s
Arrow Build (Bash)
Arrow Build Env
cd /apache-arrow*/c_glib/build
make -j5
make install
12.1s
Arrow Build (Bash)
Arrow Build Env
cd /opt/arrow
tar -zcf /results/apache-arrow-njbuild-0.15.1.tar.gz *
7.5s
Arrow Build (Bash)
Arrow Build Env
Thrift & Flatbuffers Installers
Package up Thrift, Flatbuffers, and Arrow.
mkdir -p /opt/arrow
cd /opt/arrow
tar -zxf NJ__REF_
du -hsc /opt/arrow
2.1s
Packaging (Bash)
Arrow Build Env
cd /thrift-0.13.0
make install prefix=/opt/arrow
1.8s
Packaging (Bash)
Arrow Build Env
cd /flatbuffers/build
make install DESTDIR=/opt/flatb
cd /opt/flatb/usr/local
cp -a * /opt/arrow/
0.7s
Packaging (Bash)
Arrow Build Env
du -hsc /opt/arrow
0.6s
Packaging (Bash)
Arrow Build Env