diff --git a/CMakeLists.txt b/CMakeLists.txt index d030d3cd33..3c727919fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -114,7 +114,9 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") endif () elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set (WARN_FLAGS "-Wall -Wno-unknown-pragmas -Wconversion") - if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9") + if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "12.0") + set (WARN_FLAGS "${WARN_FLAGS} -Wno-array-bounds -Wno-stringop-overread") # To compile protobuf in Fedora37 + elseif (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.9") set (WARN_FLAGS "${WARN_FLAGS} -Wno-unused-function") endif () if (STOP_BUILD_ON_WARNING) diff --git a/docker/README.md b/docker/README.md index 80ff906bfd..6a5501fc1d 100644 --- a/docker/README.md +++ b/docker/README.md @@ -2,6 +2,7 @@ * CentOS 7 * Debian 10 and 11 +* Fedora 37 * Ubuntu 18, 20 and 22 ## Pre-built Images diff --git a/docker/fedora37/Dockerfile b/docker/fedora37/Dockerfile new file mode 100644 index 0000000000..df3a347cd8 --- /dev/null +++ b/docker/fedora37/Dockerfile @@ -0,0 +1,67 @@ +# 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 CentOS 7 +# + +FROM fedora:37 +LABEL maintainer="Apache ORC project " +ARG jdk=17 + +RUN yum check-update || true +RUN yum install -y \ + cmake3 \ + curl-devel \ + cyrus-sasl-devel \ + expat-devel \ + gcc \ + gcc-c++ \ + gettext-devel \ + git \ + libtool \ + make \ + maven \ + openssl-devel \ + tar \ + wget \ + which \ + zlib-devel && \ + if [ "${jdk}" = "11" ] ; then \ + yum install -y \ + java-11-openjdk \ + java-11-openjdk-devel \ + && \ + update-alternatives --set java $(readlink -f /usr/lib/jvm/java-11-openjdk/bin/java) && \ + update-alternatives --set javac $(readlink -f /usr/lib/jvm/java-11-openjdk/bin/javac) \ + ; elif [ "${jdk}" = "8" ] ; then \ + yum install -y \ + java-1.8.0-openjdk \ + java-1.8.0-openjdk-devel \ + ; fi + +ENV TZ=America/Los_Angeles +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 diff --git a/docker/os-list.txt b/docker/os-list.txt index ffd7a3b29f..0b3a3a47ee 100644 --- a/docker/os-list.txt +++ b/docker/os-list.txt @@ -4,6 +4,7 @@ debian11 ubuntu18 ubuntu20 ubuntu22 +fedora37 debian10_jdk=11 ubuntu20_jdk=11 ubuntu20_jdk=11_cc=clang