You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ks...@apache.org on 2019/01/23 09:22:15 UTC
[arrow] branch master updated: ARROW-4281: [CI] Use Ubuntu Xenial
VMs on Travis-CI
This is an automated email from the ASF dual-hosted git repository.
kszucs pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new 1b8a7bc ARROW-4281: [CI] Use Ubuntu Xenial VMs on Travis-CI
1b8a7bc is described below
commit 1b8a7bc3baa4bce660c18a13934115d55f8733df
Author: Antoine Pitrou <an...@python.org>
AuthorDate: Wed Jan 23 10:21:49 2019 +0100
ARROW-4281: [CI] Use Ubuntu Xenial VMs on Travis-CI
The R build job still uses Trusty, though, as the community-supported R images don't work with Xenial.
Author: Antoine Pitrou <an...@python.org>
Closes #3418 from pitrou/ARROW-4281-travis-ci-xenial and squashes the following commits:
7cdc8136 <Antoine Pitrou> Remove superfluous conda-forge references
3b9fb1b8 <Antoine Pitrou> ARROW-4281: Use Ubuntu Xenial VMs on Travis-CI
---
.gitignore | 2 ++
.travis.yml | 24 ++++++++---------
ci/appveyor-cpp-build.bat | 4 +--
ci/appveyor-cpp-setup.bat | 2 +-
ci/appveyor-cpp-test-cmake-script.bat | 8 +++---
ci/cpp-msvc-build-main.bat | 2 +-
ci/travis_before_script_c_glib.sh | 4 +--
ci/travis_before_script_cpp.sh | 5 ++++
ci/travis_env_common.sh | 10 ++++++++
ci/travis_install_clang_tools.sh | 5 +++-
ci/travis_install_linux.sh | 34 ++++++++++++++++---------
ci/travis_install_toolchain.sh | 18 ++++++++++---
ci/travis_script_cpp.sh | 4 +--
ci/travis_script_gandiva_java.sh | 4 +--
ci/travis_script_integration.sh | 8 +++---
ci/travis_script_java.sh | 6 +++--
ci/travis_script_javadoc.sh | 4 ++-
ci/travis_script_manylinux.sh | 2 +-
ci/travis_script_plasma_java_client.sh | 5 ++--
ci/travis_script_python.sh | 15 +++++------
cpp/CMakeLists.txt | 6 -----
cpp/src/arrow/python/serialize.cc | 4 +--
cpp/src/arrow/util/bit-util-benchmark.cc | 6 +++--
cpp/src/gandiva/jni/symbols.map | 2 +-
cpp/thirdparty/README.md | 2 +-
cpp/thirdparty/versions.txt | 2 +-
dev/release/verify-release-candidate.sh | 2 +-
python/pyarrow/tests/pyarrow_cython_example.pyx | 1 +
28 files changed, 116 insertions(+), 75 deletions(-)
diff --git a/.gitignore b/.gitignore
index 61440bb..6bb237a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,8 @@ arrow-src.tar.gz
.build_cache_dir
dependency-reduced-pom.xml
MANIFEST
+compile_commands.json
+build.ninja
# Generated Visual Studio files
*.vcxproj
diff --git a/.travis.yml b/.travis.yml
index c57c473..de0bb78 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,7 +16,7 @@
# under the License.
sudo: required
-dist: trusty
+dist: xenial
services:
- docker
@@ -38,7 +38,6 @@ before_install:
- |
if [ $TRAVIS_OS_NAME == "linux" ]; then
sudo bash -c "echo -e 'Acquire::Retries 10; Acquire::http::Timeout \"20\";' > /etc/apt/apt.conf.d/99-travis-retry"
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update -qq
fi
- eval `python $TRAVIS_BUILD_DIR/ci/detect-changes.py`
@@ -72,10 +71,10 @@ matrix:
- ARROW_TRAVIS_PARQUET=1
- ARROW_TRAVIS_GANDIVA=1
- ARROW_BUILD_WARNING_LEVEL=CHECKIN
- - CC="clang-6.0"
- - CXX="clang++-6.0"
before_script:
- if [ $ARROW_CI_CPP_AFFECTED != "1" ]; then exit; fi
+ - export CC="clang-6.0"
+ - export CXX="clang++-6.0"
- $TRAVIS_BUILD_DIR/ci/travis_install_linux.sh
- $TRAVIS_BUILD_DIR/ci/travis_install_clang_tools.sh
# If either C++ or Python changed, we must install the C++ libraries
@@ -84,7 +83,7 @@ matrix:
script:
- $TRAVIS_BUILD_DIR/ci/travis_script_cpp.sh || travis_terminate 1
# Separating Valgrind and C++ coverage makes individual jobs shorter
- - name: "C++ unit tests w/ gcc 4.8, coverage"
+ - name: "C++ unit tests w/ gcc 5.4, coverage"
compiler: gcc
language: cpp
os: linux
@@ -109,7 +108,7 @@ matrix:
- $TRAVIS_BUILD_DIR/ci/travis_script_cpp.sh || travis_terminate 1
- $TRAVIS_BUILD_DIR/ci/travis_script_gandiva_java.sh || travis_terminate 1
- $TRAVIS_BUILD_DIR/ci/travis_upload_cpp_coverage.sh || travis_terminate 1
- - name: "Python 2.7 and 3.6 unit tests w/ Valgrind, gcc 4.8, coverage"
+ - name: "Python 2.7 and 3.6 unit tests w/ Valgrind, gcc 5.4, coverage"
compiler: gcc
language: cpp
os: linux
@@ -171,10 +170,10 @@ matrix:
script:
- $TRAVIS_BUILD_DIR/ci/travis_script_cpp.sh || travis_terminate 1
- $TRAVIS_BUILD_DIR/ci/travis_script_gandiva_java.sh
- - name: "[OS X] Python w/ XCode 6.4"
+ - name: "[OS X] Python w/ XCode 7.3"
compiler: clang
language: cpp
- osx_image: xcode6.4
+ osx_image: xcode7.3
os: osx
cache:
addons:
@@ -182,6 +181,7 @@ matrix:
- ARROW_TRAVIS_USE_TOOLCHAIN=1
- ARROW_BUILD_WARNING_LEVEL=CHECKIN
- ARROW_TRAVIS_OPTIONAL_INSTALL=1
+ - MACOSX_DEPLOYMENT_TARGET="10.9"
before_script:
script:
- if [ $ARROW_CI_PYTHON_AFFECTED != "1" ]; then exit; fi
@@ -224,10 +224,10 @@ matrix:
env:
- ARROW_TRAVIS_PLASMA=1
- ARROW_TRAVIS_PLASMA_JAVA_CLIENT=1
- - CC="clang-6.0"
- - CXX="clang++-6.0"
before_script:
- if [ $ARROW_CI_INTEGRATION_AFFECTED != "1" ]; then exit; fi
+ - export CC="clang-6.0"
+ - export CXX="clang++-6.0"
- $TRAVIS_BUILD_DIR/ci/travis_install_linux.sh
- $TRAVIS_BUILD_DIR/ci/travis_install_clang_tools.sh
- nvm install 11.6
@@ -247,7 +247,7 @@ matrix:
- $TRAVIS_BUILD_DIR/ci/travis_before_script_js.sh
script:
- $TRAVIS_BUILD_DIR/ci/travis_script_js.sh
- - name: "C++ & GLib & Ruby w/ gcc 4.9"
+ - name: "C++ & GLib & Ruby w/ gcc 5.4"
compiler: gcc
language: cpp
os: linux
@@ -257,7 +257,6 @@ matrix:
- ARROW_TRAVIS_USE_VENDORED_BOOST=1
- ARROW_TRAVIS_PARQUET=1
- ARROW_TRAVIS_PLASMA=1
- - MATRIX_EVAL="CC=gcc-4.9 && CXX=g++-4.9"
before_script:
- if [ $ARROW_CI_RUBY_AFFECTED != "1" ]; then exit; fi
- $TRAVIS_BUILD_DIR/ci/travis_install_linux.sh
@@ -327,6 +326,7 @@ matrix:
language: r
cache: packages
latex: false
+ dist: trusty
env:
- ARROW_TRAVIS_PARQUET=1
before_install:
diff --git a/ci/appveyor-cpp-build.bat b/ci/appveyor-cpp-build.bat
index 5b653a9..78f5e41 100644
--- a/ci/appveyor-cpp-build.bat
+++ b/ci/appveyor-cpp-build.bat
@@ -95,7 +95,7 @@ if "%JOB%" == "Build_Debug" (
exit /B 0
)
-conda create -n arrow -q -y -c conda-forge/label/cf201901 ^
+conda create -n arrow -q -y -c conda-forge ^
--file=ci\conda_env_python.yml ^
python=%PYTHON% ^
numpy=1.14 ^
@@ -110,7 +110,7 @@ set BOOST_LIBRARYDIR=%CONDA_PREFIX%\Library\lib
if "%JOB%" == "Toolchain" (
@rem Install pre-built "toolchain" packages for faster builds
- conda install -q -y -c conda-forge/label/cf201901 ^
+ conda install -q -y -c conda-forge ^
--file=ci\conda_env_cpp.yml ^
python=%PYTHON%
diff --git a/ci/appveyor-cpp-setup.bat b/ci/appveyor-cpp-setup.bat
index 2a46d13..4cae2cb 100644
--- a/ci/appveyor-cpp-setup.bat
+++ b/ci/appveyor-cpp-setup.bat
@@ -39,7 +39,7 @@ if defined need_vcvarsall (
)
)
-if "%GENERATOR%"=="Ninja" conda install -y -q ninja -c conda-forge/label/cf201901
+if "%GENERATOR%"=="Ninja" conda install -y -q ninja
if "%USE_CLCACHE%" == "true" (
@rem Use clcache for faster builds
diff --git a/ci/appveyor-cpp-test-cmake-script.bat b/ci/appveyor-cpp-test-cmake-script.bat
index d55a24d..415406c 100644
--- a/ci/appveyor-cpp-test-cmake-script.bat
+++ b/ci/appveyor-cpp-test-cmake-script.bat
@@ -19,8 +19,8 @@
@rem Validate cmake script behaviour on missed lib in toolchain
set CONDA_ENV=arrow-cmake-tests-libs
-conda create -n %CONDA_ENV% -q -y -c conda-forge/label/cf201901
-conda install -n %CONDA_ENV% -q -y -c conda-forge/label/cf201901 boost-cpp
+conda create -n %CONDA_ENV% -q -y
+conda install -n %CONDA_ENV% -q -y -c conda-forge boost-cpp
call activate %CONDA_ENV%
set BUILD_DIR=cpp\build-cmake-test
@@ -161,8 +161,8 @@ call deactivate
@rem Validate libs availability in conda toolchain
set CONDA_ENV=arrow-cmake-tests-toolchain
-conda create -n %CONDA_ENV% -q -y -c conda-forge/label/cf201901
-conda install -n %CONDA_ENV% -q -y -c conda-forge/label/cf201901 ^
+conda create -n %CONDA_ENV% -q -y
+conda install -n %CONDA_ENV% -q -y -c conda-forge ^
--file=ci\conda_env_cpp.yml
call activate %CONDA_ENV%
diff --git a/ci/cpp-msvc-build-main.bat b/ci/cpp-msvc-build-main.bat
index 6629060..d9d7e54 100644
--- a/ci/cpp-msvc-build-main.bat
+++ b/ci/cpp-msvc-build-main.bat
@@ -105,7 +105,7 @@ popd
call deactivate
-conda create -n wheel_test -q -y -c conda-forge/label/cf201901 python=%PYTHON% || exit /B
+conda create -n wheel_test -q -y python=%PYTHON% || exit /B
call activate wheel_test
diff --git a/ci/travis_before_script_c_glib.sh b/ci/travis_before_script_c_glib.sh
index 8507f77..e8dd0cd 100755
--- a/ci/travis_before_script_c_glib.sh
+++ b/ci/travis_before_script_c_glib.sh
@@ -23,7 +23,7 @@ source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh
source $TRAVIS_BUILD_DIR/ci/travis_install_conda.sh
-conda create -n meson -y -q -c conda-forge/label/cf201901 python=3.6
+conda create -n meson -y -q python=3.6
conda activate meson
pip install meson
@@ -36,7 +36,7 @@ else
autoconf-archive \
gtk-doc-tools \
libgirepository1.0-dev
- conda install -q -y ninja -c conda-forge/label/cf201901
+ conda install -q -y ninja
fi
gem install test-unit gobject-introspection
diff --git a/ci/travis_before_script_cpp.sh b/ci/travis_before_script_cpp.sh
index 8ddc986..e35a8b5 100755
--- a/ci/travis_before_script_cpp.sh
+++ b/ci/travis_before_script_cpp.sh
@@ -75,9 +75,13 @@ $CMAKE_COMMON_FLAGS \
-DARROW_INSTALL_NAME_RPATH=OFF"
fi
+ARROW_CXXFLAGS=""
+
# Use Ninja for faster builds when using toolchain
if [ $ARROW_TRAVIS_USE_TOOLCHAIN == "1" ]; then
CMAKE_COMMON_FLAGS="$CMAKE_COMMON_FLAGS -GNinja"
+ # Make sure the toolchain linker (from binutils package) is picked up by clang
+ ARROW_CXXFLAGS="$ARROW_CXXFLAGS -B$CPP_TOOLCHAIN/bin"
fi
if [ $ARROW_TRAVIS_PLASMA == "1" ]; then
@@ -135,6 +139,7 @@ if [ $TRAVIS_OS_NAME == "linux" ]; then
$CMAKE_LINUX_FLAGS \
-DCMAKE_BUILD_TYPE=$ARROW_BUILD_TYPE \
-DBUILD_WARNING_LEVEL=$ARROW_BUILD_WARNING_LEVEL \
+ -DARROW_CXXFLAGS="$ARROW_CXXFLAGS" \
$ARROW_CPP_DIR
else
if [ "$using_homebrew" = "yes" ]; then
diff --git a/ci/travis_env_common.sh b/ci/travis_env_common.sh
index 636a25f..980252a 100755
--- a/ci/travis_env_common.sh
+++ b/ci/travis_env_common.sh
@@ -73,3 +73,13 @@ if [ $TRAVIS_OS_NAME == "osx" ]; then
fi
export PARQUET_TEST_DATA=$TRAVIS_BUILD_DIR/cpp/submodules/parquet-testing/data
+
+if [ $TRAVIS_OS_NAME == "linux" ]; then
+ # Use the Ubuntu-provided OpenJDK
+ unset JAVA_HOME
+ export TRAVIS_MVN=/usr/bin/mvn
+ export TRAVIS_JAVA=/usr/bin/java
+else
+ export TRAVIS_MVN=mvn
+ export TRAVIS_JAVA=java
+fi
diff --git a/ci/travis_install_clang_tools.sh b/ci/travis_install_clang_tools.sh
index 49b2e47..60a1aa1 100755
--- a/ci/travis_install_clang_tools.sh
+++ b/ci/travis_install_clang_tools.sh
@@ -17,8 +17,11 @@
# specific language governing permissions and limitations
# under the License.
+# e.g. "trusty" or "xenial"
+DISTRO_CODENAME=`lsb_release -s -c`
+
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-add-repository -y \
- "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-6.0 main"
+ "deb http://llvm.org/apt/$DISTRO_CODENAME/ llvm-toolchain-$DISTRO_CODENAME-6.0 main"
sudo apt-get update -qq
sudo apt-get install -q clang-6.0 clang-format-6.0 clang-tidy-6.0
diff --git a/ci/travis_install_linux.sh b/ci/travis_install_linux.sh
index 98d9bdd..4af9547 100755
--- a/ci/travis_install_linux.sh
+++ b/ci/travis_install_linux.sh
@@ -17,25 +17,35 @@
# specific language governing permissions and limitations
# under the License.
-sudo apt-get install -y -q \
+set -e
+
+sudo apt-get install -y -qq \
gdb binutils ccache libboost-dev libboost-filesystem-dev \
libboost-system-dev libboost-regex-dev
-if [ "$CXX" == "g++-4.9" ]; then
- sudo apt-get install -y -q g++-4.9
-fi
-
if [ "$ARROW_TRAVIS_VALGRIND" == "1" ]; then
- sudo apt-get install -y -q valgrind
+ sudo apt-get install -y -qq valgrind
fi
if [ "$ARROW_TRAVIS_COVERAGE" == "1" ]; then
- sudo apt-get install -y -q lcov
+ sudo apt-get install -y -qq lcov
fi
-if [ "$ARROW_TRAVIS_GANDIVA" == "1" -a "$ARROW_USE_TOOLCHAIN" != "1" ]; then
- sudo add-apt-repository -y ppa:dluxen/cmake-backports
- sudo apt-get update -q
- sudo apt-get install -y -q cmake3
- sudo rm -rf /usr/local/cmake-*
+if [ "$ARROW_TRAVIS_GANDIVA" == "1" ]; then
+ sudo apt-get install -y -qq llvm-6.0-dev
fi
+
+set -x
+
+sudo apt-get install -y -qq maven
+
+# Remove Travis-specific versions of Java
+sudo rm -rf /usr/local/lib/jvm*
+sudo rm -rf /usr/local/maven*
+hash -r
+unset JAVA_HOME
+
+which java
+which mvn
+java -version
+mvn -v
diff --git a/ci/travis_install_toolchain.sh b/ci/travis_install_toolchain.sh
index aa50d59..1d473d2 100755
--- a/ci/travis_install_toolchain.sh
+++ b/ci/travis_install_toolchain.sh
@@ -22,14 +22,26 @@ source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh
source $TRAVIS_BUILD_DIR/ci/travis_install_conda.sh
if [ ! -e $CPP_TOOLCHAIN ]; then
+ CONDA_PACKAGES=""
+
if [ $ARROW_TRAVIS_GANDIVA == "1" ] && [ $TRAVIS_OS_NAME == "osx" ]; then
- CONDA_LLVM="llvmdev=6.0.1"
+ CONDA_PACKAGES="$CONDA_PACKAGES llvmdev=6.0.1"
+ fi
+
+ if [ $TRAVIS_OS_NAME == "linux" ]; then
+ # Use newer binutils when linking against conda-provided libraries
+ CONDA_PACKAGES="$CONDA_PACKAGES binutils"
+ fi
+
+ if [ $ARROW_TRAVIS_VALGRIND == "1" ]; then
+ # Use newer Valgrind
+ CONDA_PACKAGES="$CONDA_PACKAGES valgrind"
fi
# Set up C++ toolchain from conda-forge packages for faster builds
- conda create -y -q -p $CPP_TOOLCHAIN -c conda-forge/label/cf201901 \
+ conda create -y -q -p $CPP_TOOLCHAIN \
--file=$TRAVIS_BUILD_DIR/ci/conda_env_cpp.yml \
- ${CONDA_LLVM} \
+ $CONDA_PACKAGES \
ccache \
ninja \
nomkl \
diff --git a/ci/travis_script_cpp.sh b/ci/travis_script_cpp.sh
index b89e5b7..14529b0 100755
--- a/ci/travis_script_cpp.sh
+++ b/ci/travis_script_cpp.sh
@@ -30,7 +30,7 @@ popd
# Capture C++ coverage info (we wipe the build dir in travis_script_python.sh)
if [ "$ARROW_TRAVIS_COVERAGE" == "1" ]; then
pushd $TRAVIS_BUILD_DIR
- lcov --quiet --directory . --capture --no-external --output-file $ARROW_CPP_COVERAGE_FILE \
- 2>&1 | grep -v "WARNING: no data found for /usr/include"
+ lcov --directory . --capture --no-external --output-file $ARROW_CPP_COVERAGE_FILE \
+ 2>&1 | grep -v "ignoring data for external file"
popd
fi
diff --git a/ci/travis_script_gandiva_java.sh b/ci/travis_script_gandiva_java.sh
index 1f188e7..c187184 100755
--- a/ci/travis_script_gandiva_java.sh
+++ b/ci/travis_script_gandiva_java.sh
@@ -27,9 +27,9 @@ pushd $JAVA_DIR
export MAVEN_OPTS="$MAVEN_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=warn"
# build with gandiva profile
-mvn -P gandiva -B install -DskipTests -Dgandiva.cpp.build.dir=$CPP_BUILD_DIR/debug
+$TRAVIS_MVN -P gandiva -B install -DskipTests -Dgandiva.cpp.build.dir=$CPP_BUILD_DIR/debug
# run gandiva tests
-mvn test -P gandiva -pl gandiva -Dgandiva.cpp.build.dir=$CPP_BUILD_DIR/debug
+$TRAVIS_MVN test -P gandiva -pl gandiva -Dgandiva.cpp.build.dir=$CPP_BUILD_DIR/debug
popd
diff --git a/ci/travis_script_integration.sh b/ci/travis_script_integration.sh
index 5571ebc..02e2eae 100755
--- a/ci/travis_script_integration.sh
+++ b/ci/travis_script_integration.sh
@@ -28,7 +28,7 @@ export ARROW_CPP_EXE_PATH=$ARROW_CPP_BUILD_DIR/debug
pushd $ARROW_JAVA_DIR
echo "mvn package"
-mvn -B clean package 2>&1 > mvn_package.log || (cat mvn_package.log && false)
+$TRAVIS_MVN -B clean package 2>&1 > mvn_package.log || (cat mvn_package.log && false)
popd
@@ -43,14 +43,14 @@ popd
pushd $ARROW_INTEGRATION_DIR
CONDA_ENV_NAME=arrow-integration-test
-conda create -y -q -n $CONDA_ENV_NAME -c conda-forge/label/cf201901 python=3.5
+conda create -y -q -n $CONDA_ENV_NAME python=3.6
conda activate $CONDA_ENV_NAME
# faster builds, please
-conda install -y nomkl -c conda-forge/label/cf201901
+conda install -y nomkl
# Expensive dependencies install from Continuum package repo
-conda install -y pip numpy six -c conda-forge/label/cf201901
+conda install -y pip numpy six
# ARROW-4008: Create a directory to write temporary files since /tmp can be
# unstable in Travis CI
diff --git a/ci/travis_script_java.sh b/ci/travis_script_java.sh
index 8a71fdc..dd5a6b4 100755
--- a/ci/travis_script_java.sh
+++ b/ci/travis_script_java.sh
@@ -19,15 +19,17 @@
set -e
+source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh
+
JAVA_DIR=${TRAVIS_BUILD_DIR}/java
pushd $JAVA_DIR
export MAVEN_OPTS="$MAVEN_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=warn"
if [ $ARROW_TRAVIS_JAVA_BUILD_ONLY == "1" ]; then
# Save time and make build less verbose by skipping tests and style checks
- mvn -DskipTests=true -Dcheckstyle.skip=true -B install
+ $TRAVIS_MVN -DskipTests=true -Dcheckstyle.skip=true -B install
else
- mvn -B install
+ $TRAVIS_MVN -B install
fi
popd
diff --git a/ci/travis_script_javadoc.sh b/ci/travis_script_javadoc.sh
index ccfb2da..755d462 100755
--- a/ci/travis_script_javadoc.sh
+++ b/ci/travis_script_javadoc.sh
@@ -19,11 +19,13 @@
set -e
+source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh
+
JAVA_DIR=${TRAVIS_BUILD_DIR}/java
pushd $JAVA_DIR
export MAVEN_OPTS="$MAVEN_OPTS -Dorg.slf4j.simpleLogger.defaultLogLevel=warn"
-mvn -B site
+$TRAVIS_MVN -B site
popd
diff --git a/ci/travis_script_manylinux.sh b/ci/travis_script_manylinux.sh
index 59b818a..588d0f9 100755
--- a/ci/travis_script_manylinux.sh
+++ b/ci/travis_script_manylinux.sh
@@ -34,7 +34,7 @@ source $TRAVIS_BUILD_DIR/ci/travis_install_conda.sh
PYTHON_VERSION=3.6
CONDA_ENV_DIR=$TRAVIS_BUILD_DIR/pyarrow-test-$PYTHON_VERSION
-conda create -y -q -p $CONDA_ENV_DIR -c conda-forge/label/cf201901 python=$PYTHON_VERSION
+conda create -y -q -p $CONDA_ENV_DIR python=$PYTHON_VERSION
conda activate $CONDA_ENV_DIR
pip install -q tensorflow
diff --git a/ci/travis_script_plasma_java_client.sh b/ci/travis_script_plasma_java_client.sh
index 927a239..0b291ed 100755
--- a/ci/travis_script_plasma_java_client.sh
+++ b/ci/travis_script_plasma_java_client.sh
@@ -23,16 +23,15 @@ source $TRAVIS_BUILD_DIR/ci/travis_env_common.sh
PLASMA_JAVA_DIR=${TRAVIS_BUILD_DIR}/java/plasma
-
pushd $PLASMA_JAVA_DIR
-mvn clean install
+$TRAVIS_MVN clean install
export LD_LIBRARY_PATH=${ARROW_CPP_INSTALL}/lib:$LD_LIBRARY_PATH
export PLASMA_STORE=${ARROW_CPP_INSTALL}/bin/plasma_store_server
ldd $PLASMA_STORE
-java -cp target/test-classes:target/classes -Djava.library.path=${TRAVIS_BUILD_DIR}/cpp-build/debug/ org.apache.arrow.plasma.PlasmaClientTest
+$TRAVIS_JAVA -cp target/test-classes:target/classes -Djava.library.path=${TRAVIS_BUILD_DIR}/cpp-build/debug/ org.apache.arrow.plasma.PlasmaClientTest
popd
diff --git a/ci/travis_script_python.sh b/ci/travis_script_python.sh
index 838d9b8..5732a17 100755
--- a/ci/travis_script_python.sh
+++ b/ci/travis_script_python.sh
@@ -45,7 +45,7 @@ if [ $ARROW_TRAVIS_PYTHON_JVM == "1" ]; then
CONDA_JVM_DEPS="jpype1"
fi
-conda create -y -q -p $CONDA_ENV_DIR -c conda-forge/label/cf201901 \
+conda create -y -q -p $CONDA_ENV_DIR \
--file $TRAVIS_BUILD_DIR/ci/conda_env_python.yml \
nomkl \
cmake \
@@ -61,7 +61,7 @@ which python
if [ "$ARROW_TRAVIS_PYTHON_DOCS" == "1" ] && [ "$PYTHON_VERSION" == "3.6" ]; then
# Install documentation dependencies
- conda install -y -c conda-forge/label/cf201901 --file ci/conda_env_sphinx.yml
+ conda install -y --file ci/conda_env_sphinx.yml
fi
# ARROW-2093: PyTorch increases the size of our conda dependency stack
@@ -74,7 +74,7 @@ fi
# fi
if [ $TRAVIS_OS_NAME != "osx" ]; then
- conda install -y -c conda-forge/label/cf201901 tensorflow
+ conda install -y tensorflow
PYARROW_PYTEST_FLAGS="$PYARROW_PYTEST_FLAGS --tensorflow"
fi
@@ -126,9 +126,8 @@ pushd $ARROW_PYTHON_DIR
# Other stuff pip install
pip install -r requirements.txt
-# FIXME(kszucs): disabled in https://github.com/apache/arrow/pull/3406
if [ "$PYTHON_VERSION" == "3.6" ]; then
- pip install -vvv pickle5 || true
+ pip install -q pickle5
fi
if [ "$ARROW_TRAVIS_COVERAGE" == "1" ]; then
export PYARROW_GENERATE_COVERAGE=1
@@ -181,8 +180,8 @@ if [ "$ARROW_TRAVIS_COVERAGE" == "1" ]; then
coverage xml -i -o $TRAVIS_BUILD_DIR/coverage.xml
# Capture C++ coverage info
pushd $TRAVIS_BUILD_DIR
- lcov --quiet --directory . --capture --no-external --output-file coverage-python-tests.info \
- 2>&1 | grep -v "WARNING: no data found for /usr/include"
+ lcov --directory . --capture --no-external --output-file coverage-python-tests.info \
+ 2>&1 | grep -v "ignoring data for external file"
lcov --add-tracefile coverage-python-tests.info \
--output-file $ARROW_CPP_COVERAGE_FILE
rm coverage-python-tests.info
@@ -204,7 +203,7 @@ if [ "$ARROW_TRAVIS_PYTHON_BENCHMARKS" == "1" ] && [ "$PYTHON_VERSION" == "3.6"
# Unfortunately this won't ensure that all benchmarks succeed
# (see https://github.com/airspeed-velocity/asv/issues/449)
source deactivate
- conda create -y -q -n pyarrow_asv python=$PYTHON_VERSION -c conda-forge/label/cf201901
+ conda create -y -q -n pyarrow_asv python=$PYTHON_VERSION
conda activate pyarrow_asv
pip install -q git+https://github.com/pitrou/asv.git@customize_commands
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 459cb3a..e553d08 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -518,12 +518,6 @@ if (NOT ARROW_FUZZING)
set(NO_FUZZING 1)
endif()
-if (ARROW_TENSORFLOW)
- # TensorFlow uses the old GLIBCXX ABI, so we have to use it too
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0")
-endif()
-
if (MSVC AND ARROW_USE_CLCACHE AND
(("${CMAKE_GENERATOR}" STREQUAL "NMake Makefiles") OR
("${CMAKE_GENERATOR}" STREQUAL "Ninja")))
diff --git a/cpp/src/arrow/python/serialize.cc b/cpp/src/arrow/python/serialize.cc
index 38ab238..ad2636a 100644
--- a/cpp/src/arrow/python/serialize.cc
+++ b/cpp/src/arrow/python/serialize.cc
@@ -532,13 +532,13 @@ Status Append(PyObject* context, PyObject* elem, SequenceBuilder* builder,
#endif
} else if (PyBytes_Check(elem)) {
auto data = reinterpret_cast<uint8_t*>(PyBytes_AS_STRING(elem));
- int32_t size;
+ int32_t size = -1;
RETURN_NOT_OK(internal::CastSize(PyBytes_GET_SIZE(elem), &size));
RETURN_NOT_OK(builder->AppendBytes(data, size));
} else if (PyUnicode_Check(elem)) {
PyBytesView view;
RETURN_NOT_OK(view.FromString(elem));
- int32_t size;
+ int32_t size = -1;
RETURN_NOT_OK(internal::CastSize(view.size, &size));
RETURN_NOT_OK(builder->AppendString(view.bytes, size));
} else if (PyList_CheckExact(elem)) {
diff --git a/cpp/src/arrow/util/bit-util-benchmark.cc b/cpp/src/arrow/util/bit-util-benchmark.cc
index cc71078..00093a2 100644
--- a/cpp/src/arrow/util/bit-util-benchmark.cc
+++ b/cpp/src/arrow/util/bit-util-benchmark.cc
@@ -61,13 +61,15 @@ class NaiveBitmapWriter {
void Set() {
const int64_t byte_offset = position_ / 8;
const int64_t bit_offset = position_ % 8;
- bitmap_[byte_offset] |= static_cast<uint8_t>(1 << bit_offset);
+ auto bit_set_mask = (1U << bit_offset);
+ bitmap_[byte_offset] = static_cast<uint8_t>(bitmap_[byte_offset] | bit_set_mask);
}
void Clear() {
const int64_t byte_offset = position_ / 8;
const int64_t bit_offset = position_ % 8;
- bitmap_[byte_offset] &= 0xFF ^ static_cast<uint8_t>(1 << bit_offset);
+ auto bit_clear_mask = 0xFFU ^ (1U << bit_offset);
+ bitmap_[byte_offset] = static_cast<uint8_t>(bitmap_[byte_offset] & bit_clear_mask);
}
void Next() { ++position_; }
diff --git a/cpp/src/gandiva/jni/symbols.map b/cpp/src/gandiva/jni/symbols.map
index a387ae1..e0f5def 100644
--- a/cpp/src/gandiva/jni/symbols.map
+++ b/cpp/src/gandiva/jni/symbols.map
@@ -15,6 +15,6 @@
# specific language governing permissions and limitations
# under the License.
{
- global: extern "C++" { gandiva*; Java*; JNI*; };
+ global: extern "C++" { gandiva*; }; Java*; JNI*;
local: *;
};
diff --git a/cpp/thirdparty/README.md b/cpp/thirdparty/README.md
index 0353395..9be3361 100644
--- a/cpp/thirdparty/README.md
+++ b/cpp/thirdparty/README.md
@@ -88,7 +88,7 @@ export ARROW_GLOG_URL=$HOME/arrow-thirdparty/glog-v0.3.5.tar.gz
export ARROW_GRPC_URL=$HOME/arrow-thirdparty/grpc-v1.14.1.tar.gz
export ARROW_GTEST_URL=$HOME/arrow-thirdparty/gtest-1.8.0.tar.gz
export ARROW_LZ4_URL=$HOME/arrow-thirdparty/lz4-v1.7.5.tar.gz
-export ARROW_ORC_URL=$HOME/arrow-thirdparty/orc-1.5.1.tar.gz
+export ARROW_ORC_URL=$HOME/arrow-thirdparty/orc-1.5.4.tar.gz
export ARROW_PROTOBUF_URL=$HOME/arrow-thirdparty/protobuf-v3.6.1.tar.gz
export ARROW_RAPIDJSON_URL=$HOME/arrow-thirdparty/rapidjson-v1.1.0.tar.gz
export ARROW_RE2_URL=$HOME/arrow-thirdparty/re2-2018-10-01.tar.gz
diff --git a/cpp/thirdparty/versions.txt b/cpp/thirdparty/versions.txt
index fc539da..a2393b6 100644
--- a/cpp/thirdparty/versions.txt
+++ b/cpp/thirdparty/versions.txt
@@ -34,7 +34,7 @@ GRPC_VERSION=v1.14.1
GTEST_VERSION=1.8.0
JEMALLOC_VERSION=17c897976c60b0e6e4f4a365c751027244dada7a
LZ4_VERSION=v1.7.5
-ORC_VERSION=1.5.1
+ORC_VERSION=1.5.4
PROTOBUF_VERSION=v3.6.1
RAPIDJSON_VERSION=v1.1.0
RE2_VERSION=2018-10-01
diff --git a/dev/release/verify-release-candidate.sh b/dev/release/verify-release-candidate.sh
index 9ad2b26..3694c86 100755
--- a/dev/release/verify-release-candidate.sh
+++ b/dev/release/verify-release-candidate.sh
@@ -174,7 +174,7 @@ setup_miniconda() {
. $MINICONDA/etc/profile.d/conda.sh
- conda create -n arrow-test -y -q -c conda-forge/label/cf201901 \
+ conda create -n arrow-test -y -q -c conda-forge \
python=3.6 \
nomkl \
numpy \
diff --git a/python/pyarrow/tests/pyarrow_cython_example.pyx b/python/pyarrow/tests/pyarrow_cython_example.pyx
index b5e5406..4a6f3ca 100644
--- a/python/pyarrow/tests/pyarrow_cython_example.pyx
+++ b/python/pyarrow/tests/pyarrow_cython_example.pyx
@@ -16,6 +16,7 @@
# under the License.
# distutils: language=c++
+# cython: language_level = 3
from pyarrow.lib cimport *