Skip to content

Commit

Permalink
ORC-1541: Add Ubuntu 24.04 LTS Docker Test
Browse files Browse the repository at this point in the history
  • Loading branch information
dongjoon-hyun committed Dec 4, 2023
1 parent a0537bc commit efb85b2
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 2 deletions.
2 changes: 1 addition & 1 deletion docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

* Debian 11 and 12
* Fedora 37
* Ubuntu 20 and 22
* Ubuntu 20, 22, 24

## Pre-built Images

Expand Down
1 change: 1 addition & 0 deletions docker/os-list.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ debian11
debian12
ubuntu20
ubuntu22
ubuntu24
fedora37
ubuntu22_jdk=21
ubuntu22_jdk=21_cc=clang
65 changes: 65 additions & 0 deletions docker/ubuntu24/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# ORC compile for Ubuntu 24
#

FROM ubuntu:24.04
LABEL maintainer="Apache ORC project <dev@orc.apache.org>"
ARG jdk=21
ARG cc=gcc

RUN ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
RUN apt-get update
RUN apt-get install -y \
cmake \
git \
libsasl2-dev \
libssl-dev \
make \
curl \
maven \
openjdk-${jdk}-jdk \
tzdata; \
if [ "${cc}" = "gcc" ] ; then \
apt-get install -y \
gcc \
g++ \
; else \
apt-get install -y \
clang \
&& \
update-alternatives --set cc /usr/bin/clang && \
update-alternatives --set c++ /usr/bin/clang++ \
; fi
RUN update-alternatives --set java $(update-alternatives --list java | grep ${jdk}) && \
update-alternatives --set javac $(update-alternatives --list javac | grep ${jdk})

ENV CC=cc
ENV CXX=c++

WORKDIR /root
VOLUME /root/.m2/repository

CMD if [ ! -d orc ]; then \
echo "No volume provided, building from apache main."; \
echo "Pass '-v`pwd`:/root/orc' to docker run to build local source."; \
git clone https://github.com/apache/orc.git -b main; \
fi && \
mkdir build && \
cd build && \
cmake ../orc && \
make package test-out
2 changes: 1 addition & 1 deletion site/_docs/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The C++ library is supported on the following operating systems:
* CentOS 7
* Debian 10 to 12
* MacOS 12 to 14
* Ubuntu 20.04 to 22.04
* Ubuntu 20.04 to 24.04

You'll want to install the usual set of developer tools, but at least:

Expand Down

0 comments on commit efb85b2

Please sign in to comment.