Micah P. Dombrowski / Dec 01 2019
Apache Arrow Builds
Build Env
echo 'deb http://archive.ubuntu.com/ubuntu/ disco main restricteddeb http://security.ubuntu.com/ubuntu/ disco-security main restricted' \  > /etc/apt/sources.list.d/disco.listecho 'Package: *Pin: release n=discoPin-Priority: -10Package: cmakePin: release n=bionicPin-Priority: 500' > /etc/apt/preferences.d/disco-cmake.pref0.2s
Arrow Build Env (Bash)
apt-get -qq update3.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 disco186.4s
Arrow Build Env (Bash)
wget --progress=bar:force -P /results \  http://apache.claz.org/thrift/0.13.0/thrift-0.13.0.tar.gz1.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-coveragemake -j5make install230.5s
Arrow Build Env (Bash)
git clone https://github.com/google/flatbuffers2.9s
Arrow Build Env (Bash)
cd flatbuffersrm -rf buildmkdir buildcd buildcmake -G "Unix Makefiles" \  -DCMAKE_BUILD_TYPE=Release \  -DCMAKE_CXX_FLAGS="-fPIC -O2" \  -DFLATBUFFERS_BUILD_SHAREDLIB=ON \  ..make -j5make install100.7s
Arrow Build Env (Bash)
ldconfigShift+Enter to run
Arrow Build Env (Bash)
du -hsx /thrift -versionflatc --version1.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.gz1.7s
Arrow Build (Bash)
Arrow Build Env
tar -zxf NJ__REF_0.6s
Arrow Build (Bash)
Arrow Build Env
cd apache-arrow*/cpprm -rf buildmkdir buildcd buildexport 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/buildmake -j5 --no-print-directorymake install382.5s
Arrow Build (Bash)
Arrow Build Env
GLIB
cd /apache-arrow*/c_glibbash autogen.shrm -rf buildmkdir buildcd 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-pdf17.8s
Arrow Build (Bash)
Arrow Build Env
ldconfigldconfig -p | grep thrift0.6s
Arrow Build (Bash)
Arrow Build Env
cd /apache-arrow*/c_glib/buildmake -j5make install12.1s
Arrow Build (Bash)
Arrow Build Env
cd /opt/arrowtar -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/arrowcd /opt/arrowtar -zxf NJ__REF_du -hsc /opt/arrow2.1s
Packaging (Bash)
Arrow Build Env
cd /thrift-0.13.0make install prefix=/opt/arrow1.8s
Packaging (Bash)
Arrow Build Env
cd /flatbuffers/buildmake install DESTDIR=/opt/flatbcd /opt/flatb/usr/localcp -a * /opt/arrow/0.7s
Packaging (Bash)
Arrow Build Env
du -hsc /opt/arrow0.6s
Packaging (Bash)
Arrow Build Env