mirror of
https://github.com/cldellow/sqlite-parquet-vtable.git
synced 2025-09-12 22:29:58 +00:00
Switch to Arrow and Ubuntu packages
This commit is contained in:
60
make-linux
60
make-linux
@@ -1,31 +1,36 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
apt install -y sudo lsb-release wget
|
||||
|
||||
here=$(dirname "${BASH_SOURCE[0]}")
|
||||
here=$(readlink -f "$here")
|
||||
prebuilt="$here"/build/linux/prebuilt
|
||||
ubuntu="$(lsb_release -s -r)"
|
||||
libs=(libarrow.a libboost_filesystem.a libboost_regex.a libboost_system.a libbrotlicommon.a libbrotlidec.a \
|
||||
libbrotlienc.a libicudata.a libicui18n.a libicuuc.a liblz4.a libparquet.a libsnappy.a libthrift.a libzstd.a)
|
||||
lib_locs=()
|
||||
|
||||
setup_directories() {
|
||||
cd "$here"
|
||||
mkdir -p build/linux
|
||||
mkdir -p "$prebuilt"
|
||||
cp -f build/Makefile.linux build/linux/Makefile
|
||||
cd build/linux
|
||||
}
|
||||
|
||||
install_prerequisites() {
|
||||
# install Apache Arrow libs
|
||||
# NOTE: Pinned to Ubuntu Focal
|
||||
wget https://apache.bintray.com/arrow/ubuntu/apache-arrow-archive-keyring-latest-focal.deb
|
||||
sudo apt install -y -V ./apache-arrow-archive-keyring-latest-focal.deb
|
||||
sudo apt update -y
|
||||
sudo apt install -y -V libparquet-dev liblz4-dev libzstd-dev libthrift-dev \
|
||||
libsnappy-dev libthrift-dev libbrotli-dev libz-dev
|
||||
|
||||
# Install prereqs based on https://github.com/apache/parquet-cpp#linux
|
||||
sudo apt-get install libboost-dev g++ libboost-filesystem-dev \
|
||||
sudo apt install -y libboost-dev g++ libboost-filesystem-dev \
|
||||
libboost-program-options-dev libboost-regex-dev \
|
||||
libboost-system-dev libboost-test-dev \
|
||||
libssl-dev libtool bison flex pkg-config libreadline-dev libncurses-dev
|
||||
|
||||
# Install prereqs based on https://github.com/apache/arrow/tree/master/cpp
|
||||
sudo apt-get install cmake \
|
||||
sudo apt install -y cmake \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-system-dev
|
||||
@@ -48,6 +53,9 @@ set_icu_version() {
|
||||
18.04)
|
||||
export ICU_VERSION=60-2
|
||||
;;
|
||||
20.10)
|
||||
export ICU_VERSION=67-1
|
||||
;;
|
||||
*)
|
||||
echo "unsure what libicu version to use" >&2
|
||||
exit 1
|
||||
@@ -56,47 +64,11 @@ set_icu_version() {
|
||||
export ICU_VERSION_U=${ICU_VERSION//-/_}
|
||||
}
|
||||
|
||||
add_prebuilt_lib() {
|
||||
lib_locs+=("$1=$prebuilt/$2.a")
|
||||
}
|
||||
|
||||
fetch_prebuilt_libs() {
|
||||
if [ ! -e "$prebuilt"/complete ]; then
|
||||
(
|
||||
cd "$prebuilt"
|
||||
curl "https://s3.amazonaws.com/cldellow/public/libparquet/$ubuntu/libs.tar.xz" > libs.tar.xz
|
||||
tar xf libs.tar.xz --xform 's#.*/##'
|
||||
touch "$prebuilt"/complete
|
||||
)
|
||||
fi
|
||||
|
||||
if [ ! -e "$here"/sqlite/sqlite3 ]; then
|
||||
ln -s "$prebuilt"/sqlite3 "$here"/sqlite/sqlite3
|
||||
fi
|
||||
|
||||
add_prebuilt_lib "PARQUET_CPP_LIB" libparquet
|
||||
add_prebuilt_lib "LZ4_LIB" liblz4
|
||||
add_prebuilt_lib "ZSTD_LIB" libzstd
|
||||
add_prebuilt_lib "THRIFT_LIB" libthrift
|
||||
add_prebuilt_lib "SNAPPY_LIB" libsnappy
|
||||
add_prebuilt_lib "ARROW_LIB" libarrow
|
||||
add_prebuilt_lib "ICU_I18N_LIB" libicui18n
|
||||
add_prebuilt_lib "ICU_UC_LIB" libicuuc
|
||||
add_prebuilt_lib "ICU_DATA_LIB" libicudata
|
||||
add_prebuilt_lib "BROTLI_ENC_LIB" libbrotlienc
|
||||
add_prebuilt_lib "BROTLI_COMMON_LIB" libbrotlicommon
|
||||
add_prebuilt_lib "BROTLI_DEC_LIB" libbrotlidec
|
||||
add_prebuilt_lib "BOOST_REGEX_LIB" libboost_regex
|
||||
add_prebuilt_lib "BOOST_SYSTEM_LIB" libboost_system
|
||||
add_prebuilt_lib "BOOST_FILESYSTEM_LIB" libboost_filesystem
|
||||
|
||||
}
|
||||
|
||||
main() {
|
||||
set_icu_version
|
||||
setup_directories
|
||||
install_prerequisites
|
||||
build_sqlite
|
||||
set_icu_version
|
||||
|
||||
if [ -v PREBUILT ]; then
|
||||
fetch_prebuilt_libs
|
||||
|
Reference in New Issue
Block a user