Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VL] update docker script in readme #4683

Merged
merged 8 commits into from
Feb 19, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions docs/developers/docker_ubuntu22.04.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ title: Docker script for Ubuntu 22.04/20.04
nav_order: 6
parent: Developer Overview
---

To the first build, it's suggested to build Gluten in a clean docker image. Otherwise it's easy to run into library version conflict issues.
Here is a docker script we verified to build Gluten+Velox backend on Ubuntu22.04/20.04:

Run on host as root user:
```
docker pull ubuntu:22.04
docker run -itd --name gluten ubuntu:22.04 /bin/bash
docker run -itd --network host --name gluten ubuntu:22.04 /bin/bash
docker attach gluten
```

Expand All @@ -19,11 +21,14 @@ apt-get update

#install gcc and libraries to build arrow
apt install software-properties-common
apt install maven build-essential cmake libssl-dev libre2-dev libcurl4-openssl-dev clang lldb lld libz-dev git ninja-build uuid-dev
apt install maven build-essential cmake libssl-dev libre2-dev libcurl4-openssl-dev clang lldb lld libz-dev git ninja-build uuid-dev autoconf-archive curl zip unzip tar pkg-config bison libtool flex vim

#velox script needs sudo to install dependency libraries
apt install sudo

# make sure jemalloc is uninstalled, jemalloc will be build in vcpkg, which conflicts with the default jemalloc in system
apt remove jemalloc_dev jemalloc

#make sure jdk8 is used. New version of jdk is not supported
apt install -y openjdk-8-jdk
apt install -y default-jdk
Expand All @@ -36,20 +41,20 @@ DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
dpkg --configure -a

#setup proxy on necessary
export http_proxy=xxxx
export https_proxy=xxxx
#export http_proxy=xxxx
#export https_proxy=xxxx

#clone gluten
git clone https://github.com/oap-project/gluten.git
cd gluten/

#config maven proxy
#mkdir ~/.m2/
#apt install vim
#vim ~/.m2/settings.xml

# the script download velox & arrow and compile all dependency library automatically
# To access HDFS or S3, you need to add the parameters `--enable_hdfs=ON` and `--enable_s3=ON`
./dev/buildbundle-veloxbe.sh

# It's suggested to build using static link, enabled by --ENABLE_VCPKG=ON
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to use lower case for build option: --enable_vcpkg.

# For developer, it's suggested to enable Debug info, by --BUILD_TYPE=RelWithDebInfo. Note RelWithDebInfo uses -o2, release uses -o3
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

--build_type, in lower case.

./dev/buildbundle-veloxbe.sh --ENABLE_VCPKG=ON --BUILD_TYPE=RelWithDebInfo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto.

```
Loading