'//:ray_common' fails to build on ppc64le.
Ray commit: 536795ef7983b2224742c768e3e62284b5daddb6
Python version: Python 3.6, Python 3.7
OS: RHEL 7.6
Hardware: ppc64le
gcc/g++: gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
I used the following script to build ray:
#!/bin/bash
CWD=/root/ray_build
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y devtoolset-7 kernel-headers make wget openssl-devel autoconf curl libtool unzip psmisc git zip zlib java-11-openjdk-devel
source scl_source enable devtoolset-7
yum install -y python36
yum install -y cmake3
yum install -y python-devel python3-devel
yum install -y bison flex
yum install -y openssl-devel libffi-devel xz-devel
ln -s /usr/bin/cmake3 /usr/bin/cmake
yum install -y bzip2-devel
pip3.6 install scikit-build
pip3.6 install cython
pip3.6 install ninja
pip3.6 install numpy
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.7.10-4.el7_8.ppc64le
mkdir $CWD
cd $CWD
export CC=/opt/rh/devtoolset-7/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-7/root/usr/bin/g++
cat > /etc/yum.repos.d/bazel.repo << EOF
[copr:copr.fedorainfracloud.org:vbatts:bazel]
name=Copr repo for bazel owned by vbatts
baseurl=https://download.copr.fedorainfracloud.org/results/vbatts/bazel/epel-7-\$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/vbatts/bazel/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
EOF
yum install -y bazel
cd $CWD
git clone --recursive https://github.com/apache/arrow
cd arrow
git checkout tags/apache-arrow-0.14.0
git submodule update --recursive
mkdir build
cd build
cmake ../cpp -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX=$CWD/arrow -DCMAKE_C_FLAGS=-O3 -DCMAKE_CXX_FLAGS=-O3 -DARROW_BUILD_TESTS=off -DARROW_HDFS=on -DARROW_BOOST_USE_SHARED=off -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6 -DARROW_PYTHON=on -DARROW_PLASMA=on -DARROW_TENSORFLOW=off -DARROW_JEMALLOC=off -DARROW_WITH_BROTLI=off -DARROW_WITH_LZ4=on -DARROW_WITH_ZSTD=off -DARROW_WITH_THRIFT=ON -DARROW_PARQUET=ON -DARROW_WITH_ZLIB=ON
make -j`nproc`
make install
cd ../python
export PKG_CONFIG_PATH=$CWD/arrow/lib64/pkgconfig:$PKG_CONFIG_PATH
export PYARROW_BUILD_TYPE='release'
export PYARROW_WITH_ORC=0
export PYARROW_WITH_PARQUET=1
export PYARROW_WITH_PLASMA=1
export PYARROW_BUNDLE_ARROW_CPP=1
pip3.6 install -r requirements-wheel.txt --user
SETUPTOOLS_SCM_PRETEND_VERSION="0.14.0.RAY" python3.6 setup.py build_ext --inplace
SETUPTOOLS_SCM_PRETEND_VERSION="0.14.0.RAY" python3.6 setup.py bdist_wheel
cp dist/pyarrow*.whl $CWD
cd $CWD
git clone --recursive https://github.com/ray-project/ray
cd ray
git submodule update --recursive
export SKIP_PYARROW_INSTALL=1
cd python
python3.6 -m pip install -v --target ray/pyarrow_files $CWD/pyarrow*.whl
python3.6 setup.py bdist_wheel
Here's the part of the log which shows the issue in the build:
running build_ext
+ set -e
+ SUPPORTED_PYTHONS=("3.5" "3.6" "3.7" "3.8")
+++ dirname ../build.sh
++ cd ..
++ pwd
+ ROOT_DIR=/root/ray_build/ray
++ uname
+ unamestr=Linux
+ [[ Linux == \L\i\n\u\x ]]
+ PARALLEL=1
+ RAY_BUILD_PYTHON=YES
+ RAY_BUILD_JAVA=NO
+ PYTHON_EXECUTABLE=
+ BUILD_DIR=
+ [[ 2 -gt 0 ]]
+ key=-p
+ case $key in
+ PYTHON_EXECUTABLE=/usr/bin/python3.6
+ shift
+ shift
+ [[ 0 -gt 0 ]]
+ [[ -z /usr/bin/python3.6 ]]
++ /usr/bin/python3.6 -c 'import sys; version=sys.version_info[:3]; print("{0}.{1}".format(*version))'
+ PYTHON_VERSION=3.6
+ found=
+ for allowed in '${SUPPORTED_PYTHONS[@]}'
+ [[ 3.6 == 3.5 ]]
+ for allowed in '${SUPPORTED_PYTHONS[@]}'
+ [[ 3.6 == 3.6 ]]
+ found=3.6
+ break
+ [[ -z 3.6 ]]
+ echo 'Using Python executable /usr/bin/python3.6.'
Using Python executable /usr/bin/python3.6.
+ '[' -z '' ']'
++ PATH=/opt/rh/devtoolset-7/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.bazel/bin
++ which bazel
+ BAZEL_EXECUTABLE=/usr/bin/bazel
+ '[' -f /usr/bin/bazel ']'
+ echo 'Using Bazel executable /usr/bin/bazel.'
Using Bazel executable /usr/bin/bazel.
+ BUILD_DIR=/root/ray_build/ray/build/
+ '[' '!' -d /root/ray_build/ray/build/ ']'
+ mkdir -p /root/ray_build/ray/build/
+ pushd /root/ray_build/ray/build/
~/ray_build/ray/build ~/ray_build/ray/python
+ '[' NO == YES ']'
+ '[' YES == YES ']'
+ pickle5_available=0
+ pickle5_path=/root/ray_build/ray/python/ray/pickle5_files
+ check_pickle5_command='import sys\nif sys.version_info < (3, 8, 2): import pickle5;'
+ PYTHONPATH=/root/ray_build/ray/python/ray/pickle5_files:/opt/rh/devtoolset-7/root/usr/lib64/python2.7/site-packages:/opt/rh/devtoolset-7/root/usr/lib/python2.7/site-packages
+ /usr/bin/python3.6 -s -c 'exec("import sys\nif sys.version_info < (3, 8, 2): import pickle5;")'
+ '[' 1 -ne 0 ']'
++ mktemp -d
+ TEMP_DIR=/tmp/tmp.JJGnKqumeT
+ pushd /tmp/tmp.JJGnKqumeT
/tmp/tmp.JJGnKqumeT ~/ray_build/ray/build ~/ray_build/ray/python
+ curl -f -s -L -R -o pickle5-backport.zip https://github.com/pitrou/pickle5-backport/archive/c0c1a158f59366696161e0dffdd10cfe17601372.zip
+ unzip -q pickle5-backport.zip
+ pushd pickle5-backport-c0c1a158f59366696161e0dffdd10cfe17601372
/tmp/tmp.JJGnKqumeT/pickle5-backport-c0c1a158f59366696161e0dffdd10cfe17601372 /tmp/tmp.JJGnKqumeT ~/ray_build/ray/build ~/ray_build/ray/python
+ CC=gcc
+ /usr/bin/python3.6 setup.py --quiet bdist_wheel
+ unzip -q -o dist/pickle5-0.0.10-cp36-cp36m-linux_ppc64le.whl -d /root/ray_build/ray/python/ray/pickle5_files
+ popd
/tmp/tmp.JJGnKqumeT ~/ray_build/ray/build ~/ray_build/ray/python
+ popd
~/ray_build/ray/build ~/ray_build/ray/python
+ rm -rf /tmp/tmp.JJGnKqumeT
+ '[' -z '' ']'
+ CC=gcc
+ /usr/bin/python3.6 -m pip install -q psutil setproctitle --target=/root/ray_build/ray/python/ray/thirdparty_files
+ export PYTHON3_BIN_PATH=/usr/bin/python3.6
+ PYTHON3_BIN_PATH=/usr/bin/python3.6
+ /usr/bin/bazel build //:ray_pkg
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
INFO: Analyzed target //:ray_pkg (70 packages loaded, 11173 targets configured).
INFO: Found 1 target...
INFO: Deleting stale sandbox base /root/.cache/bazel/_bazel_root/7f16b0bd7b2d7e213ac52cfc0f0101d7/sandbox
INFO: From Compiling external/com_google_absl/absl/numeric/int128.cc:
external/com_google_absl/absl/numeric/int128.cc: In function 'absl::lts_2019_08_08::uint128 absl::lts_2019_08_08::operator/(absl::lts_2019_08_08::uint128, absl::lts_2019_08_08::uint128)':
external/com_google_absl/absl/numeric/int128.cc:155:9: note: the ABI of passing aggregates with 16-byte alignment has changed in GCC 5
uint128 operator/(uint128 lhs, uint128 rhs) {
^~~~~~~~
INFO: From Compiling external/com_google_absl/absl/time/duration.cc:
In file included from external/com_google_absl/absl/time/duration.cc:70:0:
external/com_google_absl/absl/numeric/int128.h: In member function 'absl::lts_2019_08_08::uint128& absl::lts_2019_08_08::uint128::operator*=(absl::lts_2019_08_08::uint128)':
external/com_google_absl/absl/numeric/int128.h:375:17: note: the ABI of passing aggregates with 16-byte alignment has changed in GCC 5
inline uint128& uint128::operator*=(uint128 other) {
^~~~~~~
INFO: From Compiling external/com_google_absl/absl/strings/charconv.cc:
external/com_google_absl/absl/strings/charconv.cc: In function 'uint64_t absl::lts_2019_08_08::{anonymous}::ShiftRightAndRound(absl::lts_2019_08_08::uint128, int, bool, bool*)':
external/com_google_absl/absl/strings/charconv.cc:372:10: note: the ABI of passing aggregates with 16-byte alignment has changed in GCC 5
uint64_t ShiftRightAndRound(uint128 value, int shift, bool input_exact,
^~~~~~~~~~~~~~~~~~
INFO: From Executing genrule //:python/ray/streaming/_streaming.pyx_cython_translation:
warning: python/ray/streaming/includes/transfer.pxi:57:50: Not all members given for struct 'CChannelCreationParameter'
warning: python/ray/streaming/includes/transfer.pxi:57:50: Not all members given for struct 'CChannelCreationParameter'
ERROR: /root/ray_build/ray/BUILD.bazel:437:1: C++ compilation of rule '//:ray_common' failed (Exit 1) gcc failed: error executing command
(cd /root/.cache/bazel/_bazel_root/7f16b0bd7b2d7e213ac52cfc0f0101d7/sandbox/processwrapper-sandbox/1711/execroot/com_github_ray_project_ray && \
exec env - \
LD_LIBRARY_PATH=/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib:/opt/rh/devtoolset-7/root/usr/lib64/dyninst:/opt/rh/devtoolset-7/root/usr/lib/dyninst:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib \
PATH=/opt/rh/devtoolset-7/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
PWD=/proc/self/cwd \
/opt/rh/devtoolset-7/root/usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++0x' -MD -MF bazel-out/ppc-opt/bin/_objs/ray_common/test_util.pic.d '-frandom-seed=bazel-out/ppc-opt/bin/_objs/ray_common/test_util.pic.o' -fPIC -DBOOST_ASIO_SEPARATE_COMPILATION -D__CLANG_SUPPORT_DYN_ANNOTATION__ -DCARES_STATICLIB -iquote . -iquote bazel-out/ppc-opt/bin -iquote external/com_google_protobuf -iquote bazel-out/ppc-opt/bin/external/com_google_protobuf -iquote external/zlib -iquote bazel-out/ppc-opt/bin/external/zlib -iquote external/com_github_google_flatbuffers -iquote bazel-out/ppc-opt/bin/external/com_github_google_flatbuffers -iquote external/boost -iquote bazel-out/ppc-opt/bin/external/boost -iquote external/com_github_google_glog -iquote bazel-out/ppc-opt/bin/external/com_github_google_glog -iquote external/com_github_gflags_gflags -iquote bazel-out/ppc-opt/bin/external/com_github_gflags_gflags -iquote external/com_google_absl -iquote bazel-out/ppc-opt/bin/external/com_google_absl -iquote external/com_google_googletest -iquote bazel-out/ppc-opt/bin/external/com_google_googletest -iquote external/arrow -iquote bazel-out/ppc-opt/bin/external/arrow -iquote external/com_github_grpc_grpc -iquote bazel-out/ppc-opt/bin/external/com_github_grpc_grpc -iquote external/upb -iquote bazel-out/ppc-opt/bin/external/upb -iquote external/com_github_cares_cares -iquote bazel-out/ppc-opt/bin/external/com_github_cares_cares -iquote external/boringssl -iquote bazel-out/ppc-opt/bin/external/boringssl -iquote external/msgpack -iquote bazel-out/ppc-opt/bin/external/msgpack -Ibazel-out/ppc-opt/bin/external/com_github_google_glog/_virtual_includes/default_glog_headers -Ibazel-out/ppc-opt/bin/external/com_github_gflags_gflags/_virtual_includes/gflags -Ibazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow -Ibazel-out/ppc-opt/bin/external/msgpack/_virtual_includes/msgpack -isystem @boost/:asio -isystem bazel-out/ppc-opt/bin/@boost/:asio -isystem external/com_google_protobuf/src -isystem bazel-out/ppc-opt/bin/external/com_google_protobuf/src -isystem external/zlib -isystem bazel-out/ppc-opt/bin/external/zlib -isystem external/com_github_google_flatbuffers/include -isystem bazel-out/ppc-opt/bin/external/com_github_google_flatbuffers/include -isystem src -isystem bazel-out/ppc-opt/bin/src -isystem src/ray/thirdparty -isystem bazel-out/ppc-opt/bin/src/ray/thirdparty -isystem external/boost -isystem bazel-out/ppc-opt/bin/external/boost -isystem external/boost/boost/asio -isystem bazel-out/ppc-opt/bin/external/boost/boost/asio -isystem external/boost/boost/bind -isystem bazel-out/ppc-opt/bin/external/boost/boost/bind -isystem external/boost/boost/get_pointer -isystem bazel-out/ppc-opt/bin/external/boost/boost/get_pointer -isystem external/boost/boost/is_placeholder -isystem bazel-out/ppc-opt/bin/external/boost/boost/is_placeholder -isystem external/boost/boost/mem_fn -isystem bazel-out/ppc-opt/bin/external/boost/boost/mem_fn -isystem external/boost/boost/ref -isystem bazel-out/ppc-opt/bin/external/boost/boost/ref -isystem external/boost/boost/config -isystem bazel-out/ppc-opt/bin/external/boost/boost/config -isystem external/boost/boost/version -isystem bazel-out/ppc-opt/bin/external/boost/boost/version -isystem external/boost/boost/core -isystem bazel-out/ppc-opt/bin/external/boost/boost/core -isystem external/boost/boost/detail -isystem bazel-out/ppc-opt/bin/external/boost/boost/detail -isystem external/boost/boost/limits -isystem bazel-out/ppc-opt/bin/external/boost/boost/limits -isystem external/boost/boost/utility -isystem bazel-out/ppc-opt/bin/external/boost/boost/utility -isystem external/boost/boost/container_hash -isystem bazel-out/ppc-opt/bin/external/boost/boost/container_hash -isystem external/boost/boost/assert -isystem bazel-out/ppc-opt/bin/external/boost/boost/assert -isystem external/boost/boost/integer -isystem bazel-out/ppc-opt/bin/external/boost/boost/integer -isystem external/boost/boost/cstdint -isystem bazel-out/ppc-opt/bin/external/boost/boost/cstdint -isystem external/boost/boost/static_assert -isystem bazel-out/ppc-opt/bin/external/boost/boost/static_assert -isystem external/boost/boost/type_traits -isystem bazel-out/ppc-opt/bin/external/boost/boost/type_traits -isystem external/boost/boost/mpl -isystem bazel-out/ppc-opt/bin/external/boost/boost/mpl -isystem external/boost/boost/move -isystem bazel-out/ppc-opt/bin/external/boost/boost/move -isystem external/boost/boost/preprocessor -isystem bazel-out/ppc-opt/bin/external/boost/boost/preprocessor -isystem external/boost/boost/swap -isystem bazel-out/ppc-opt/bin/external/boost/boost/swap -isystem external/boost/boost/throw_exception -isystem bazel-out/ppc-opt/bin/external/boost/boost/throw_exception -isystem external/boost/boost/current_function -isystem bazel-out/ppc-opt/bin/external/boost/boost/current_function -isystem external/boost/boost/exception -isystem bazel-out/ppc-opt/bin/external/boost/boost/exception -isystem external/boost/boost/type -isystem bazel-out/ppc-opt/bin/external/boost/boost/type -isystem external/boost/boost/visit_each -isystem bazel-out/ppc-opt/bin/external/boost/boost/visit_each -isystem external/boost/boost/date_time -isystem bazel-out/ppc-opt/bin/external/boost/boost/date_time -isystem external/boost/boost/algorithm -isystem bazel-out/ppc-opt/bin/external/boost/boost/algorithm -isystem external/boost/boost/function -isystem bazel-out/ppc-opt/bin/external/boost/boost/function -isystem external/boost/boost/type_index -isystem bazel-out/ppc-opt/bin/external/boost/boost/type_index -isystem external/boost/boost/functional -isystem bazel-out/ppc-opt/bin/external/boost/boost/functional -isystem external/boost/boost/iterator -isystem bazel-out/ppc-opt/bin/external/boost/boost/iterator -isystem external/boost/boost/range -isystem bazel-out/ppc-opt/bin/external/boost/boost/range -isystem external/boost/boost/array -isystem bazel-out/ppc-opt/bin/external/boost/boost/array -isystem external/boost/boost/concept_check -isystem bazel-out/ppc-opt/bin/external/boost/boost/concept_check -isystem external/boost/boost/concept -isystem bazel-out/ppc-opt/bin/external/boost/boost/concept -isystem external/boost/boost/concept_archetype -isystem bazel-out/ppc-opt/bin/external/boost/boost/concept_archetype -isystem external/boost/boost/noncopyable -isystem bazel-out/ppc-opt/bin/external/boost/boost/noncopyable -isystem external/boost/boost/optional -isystem bazel-out/ppc-opt/bin/external/boost/boost/optional -isystem external/boost/boost/none -isystem bazel-out/ppc-opt/bin/external/boost/boost/none -isystem external/boost/boost/regex -isystem bazel-out/ppc-opt/bin/external/boost/boost/regex -isystem external/boost/boost/predef -isystem bazel-out/ppc-opt/bin/external/boost/boost/predef -isystem external/boost/boost/smart_ptr -isystem bazel-out/ppc-opt/bin/external/boost/boost/smart_ptr -isystem external/boost/boost/align -isystem bazel-out/ppc-opt/bin/external/boost/boost/align -isystem external/boost/boost/scoped_array -isystem bazel-out/ppc-opt/bin/external/boost/boost/scoped_array -isystem external/boost/boost/checked_delete -isystem bazel-out/ppc-opt/bin/external/boost/boost/checked_delete -isystem external/boost/boost/scoped_ptr -isystem bazel-out/ppc-opt/bin/external/boost/boost/scoped_ptr -isystem external/boost/boost/shared_array -isystem bazel-out/ppc-opt/bin/external/boost/boost/shared_array -isystem external/boost/boost/shared_ptr -isystem bazel-out/ppc-opt/bin/external/boost/boost/shared_ptr -isystem external/boost/boost/tuple -isystem bazel-out/ppc-opt/bin/external/boost/boost/tuple -isystem external/boost/boost/io -isystem bazel-out/ppc-opt/bin/external/boost/boost/io -isystem external/boost/boost/lexical_cast -isystem bazel-out/ppc-opt/bin/external/boost/boost/lexical_cast -isystem external/boost/boost/chrono -isystem bazel-out/ppc-opt/bin/external/boost/boost/chrono -isystem external/boost/boost/operators -isystem bazel-out/ppc-opt/bin/external/boost/boost/operators -isystem external/boost/boost/ratio -isystem bazel-out/ppc-opt/bin/external/boost/boost/ratio -isystem external/boost/boost/system -isystem bazel-out/ppc-opt/bin/external/boost/boost/system -isystem external/boost/boost/cerrno -isystem bazel-out/ppc-opt/bin/external/boost/boost/cerrno -isystem external/boost/boost/container -isystem bazel-out/ppc-opt/bin/external/boost/boost/container -isystem external/boost/boost/intrusive -isystem bazel-out/ppc-opt/bin/external/boost/boost/intrusive -isystem external/boost/boost/math -isystem bazel-out/ppc-opt/bin/external/boost/boost/math -isystem external/boost/boost/atomic -isystem bazel-out/ppc-opt/bin/external/boost/boost/atomic -isystem external/boost/boost/fusion -isystem bazel-out/ppc-opt/bin/external/boost/boost/fusion -isystem external/boost/boost/call_traits -isystem bazel-out/ppc-opt/bin/external/boost/boost/call_traits -isystem external/boost/boost/function_types -isystem bazel-out/ppc-opt/bin/external/boost/boost/function_types -isystem external/boost/boost/typeof -isystem bazel-out/ppc-opt/bin/external/boost/boost/typeof -isystem external/boost/boost/lambda -isystem bazel-out/ppc-opt/bin/external/boost/boost/lambda -isystem external/boost/boost/mp11 -isystem bazel-out/ppc-opt/bin/external/boost/boost/mp11 -isystem external/boost/boost/numeric_conversion -isystem bazel-out/ppc-opt/bin/external/boost/boost/numeric_conversion -isystem external/boost/boost/tokenizer -isystem bazel-out/ppc-opt/bin/external/boost/boost/tokenizer -isystem external/com_google_googletest/googlemock -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googlemock -isystem external/com_google_googletest/googlemock/include -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googlemock/include -isystem external/com_google_googletest/googletest -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googletest -isystem external/com_google_googletest/googletest/include -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googletest/include -isystem external/boost/boost/filesystem -isystem bazel-out/ppc-opt/bin/external/boost/boost/filesystem -isystem external/com_github_grpc_grpc/include -isystem bazel-out/ppc-opt/bin/external/com_github_grpc_grpc/include -isystem external/com_github_grpc_grpc/src/core/ext/upb-generated -isystem bazel-out/ppc-opt/bin/external/com_github_grpc_grpc/src/core/ext/upb-generated -isystem external/com_github_cares_cares -isystem bazel-out/ppc-opt/bin/external/com_github_cares_cares -isystem external/com_github_grpc_grpc/third_party/address_sorting/include -isystem bazel-out/ppc-opt/bin/external/com_github_grpc_grpc/third_party/address_sorting/include -isystem external/boringssl/src/include -isystem bazel-out/ppc-opt/bin/external/boringssl/src/include -isystem external/msgpack/include -isystem bazel-out/ppc-opt/bin/external/msgpack/include -DRAY_USE_GLOG -Werror -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c src/ray/common/test_util.cc -o bazel-out/ppc-opt/bin/_objs/ray_common/test_util.pic.o)
Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox
In file included from /usr/include/bits/fcntl-linux.h:38:0,
from /usr/include/bits/fcntl.h:62,
from /usr/include/fcntl.h:35,
from src/ray/util/process.h:18,
from src/ray/common/test_util.cc:24:
/usr/include/bits/uio.h:43:8: error: redefinition of 'struct iovec'
struct iovec
^~~~~
In file included from external/msgpack/include/msgpack/vrefbuffer.hpp:15:0,
from bazel-out/ppc-opt/bin/external/msgpack/_virtual_includes/msgpack/msgpack.hpp:20,
from src/ray/common/id.h:22,
from src/ray/common/test_util.h:25,
from src/ray/common/test_util.cc:15:
external/msgpack/include/msgpack/v1/vrefbuffer.hpp:42:8: note: previous definition of 'struct iovec'
struct iovec {
^~~~~
Target //:ray_pkg failed to build
INFO: Elapsed time: 311.903s, Critical Path: 50.07s
INFO: 1713 processes: 1 local, 1712 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
Traceback (most recent call last):
File "setup.py", line 231, in <module>
license="Apache 2.0")
File "/usr/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
return distutils.core.setup(**attrs)
File "/usr/lib64/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/usr/lib64/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/root/.local/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 202, in run
self.run_command('build')
File "/usr/lib64/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/usr/lib64/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/usr/lib64/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/usr/lib64/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 121, in run
subprocess.check_call(command)
File "/usr/lib64/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../build.sh', '-p', '/usr/bin/python3.6']' returned non-zero exit status 1.
I modified ~/.cache/bazel/_bazel_root/7f16b0bd7b2d7e213ac52cfc0f0101d7/external/msgpack/include/msgpack/v1/vrefbuffer.hpp manually to use __unix__ macro which got rid of the error mentioned above. But then it failed in //:plasma_client. Here is the log:
+ /usr/bin/bazel build //:ray_pkg
INFO: Analyzed target //:ray_pkg (1 packages loaded, 446 targets configured).
INFO: Found 1 target...
ERROR: /root/ray_build/ray/BUILD.bazel:269:1: C++ compilation of rule '//:plasma_client' failed (Exit 1) gcc failed: error executing command
(cd /root/.cache/bazel/_bazel_root/7f16b0bd7b2d7e213ac52cfc0f0101d7/sandbox/processwrapper-sandbox/1758/execroot/com_github_ray_project_ray && \
exec env - \
LD_LIBRARY_PATH=/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib:/opt/rh/devtoolset-7/root/usr/lib64/dyninst:/opt/rh/devtoolset-7/root/usr/lib/dyninst:/opt/rh/devtoolset-7/root/usr/lib64:/opt/rh/devtoolset-7/root/usr/lib \
PATH=/opt/rh/devtoolset-7/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
PWD=/proc/self/cwd \
/opt/rh/devtoolset-7/root/usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++0x' -MD -MF bazel-out/ppc-opt/bin/_objs/plasma_client/client.pic.d '-frandom-seed=bazel-out/ppc-opt/bin/_objs/plasma_client/client.pic.o' -fPIC -DBOOST_ASIO_SEPARATE_COMPILATION -D__CLANG_SUPPORT_DYN_ANNOTATION__ -DCARES_STATICLIB -iquote . -iquote bazel-out/ppc-opt/bin -iquote external/com_github_google_flatbuffers -iquote bazel-out/ppc-opt/bin/external/com_github_google_flatbuffers -iquote external/com_google_protobuf -iquote bazel-out/ppc-opt/bin/external/com_google_protobuf -iquote external/zlib -iquote bazel-out/ppc-opt/bin/external/zlib -iquote external/boost -iquote bazel-out/ppc-opt/bin/external/boost -iquote external/com_github_google_glog -iquote bazel-out/ppc-opt/bin/external/com_github_google_glog -iquote external/com_github_gflags_gflags -iquote bazel-out/ppc-opt/bin/external/com_github_gflags_gflags -iquote external/com_google_absl -iquote bazel-out/ppc-opt/bin/external/com_google_absl -iquote external/com_google_googletest -iquote bazel-out/ppc-opt/bin/external/com_google_googletest -iquote external/arrow -iquote bazel-out/ppc-opt/bin/external/arrow -iquote external/com_github_grpc_grpc -iquote bazel-out/ppc-opt/bin/external/com_github_grpc_grpc -iquote external/upb -iquote bazel-out/ppc-opt/bin/external/upb -iquote external/com_github_cares_cares -iquote bazel-out/ppc-opt/bin/external/com_github_cares_cares -iquote external/boringssl -iquote bazel-out/ppc-opt/bin/external/boringssl -iquote external/msgpack -iquote bazel-out/ppc-opt/bin/external/msgpack -Ibazel-out/ppc-opt/bin/_virtual_includes/plasma_client -Ibazel-out/ppc-opt/bin/external/com_github_google_glog/_virtual_includes/default_glog_headers -Ibazel-out/ppc-opt/bin/external/com_github_gflags_gflags/_virtual_includes/gflags -Ibazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow -Ibazel-out/ppc-opt/bin/external/msgpack/_virtual_includes/msgpack -isystem external/com_github_google_flatbuffers/include -isystem bazel-out/ppc-opt/bin/external/com_github_google_flatbuffers/include -isystem @boost/:asio -isystem bazel-out/ppc-opt/bin/@boost/:asio -isystem external/com_google_protobuf/src -isystem bazel-out/ppc-opt/bin/external/com_google_protobuf/src -isystem external/zlib -isystem bazel-out/ppc-opt/bin/external/zlib -isystem src -isystem bazel-out/ppc-opt/bin/src -isystem src/ray/thirdparty -isystem bazel-out/ppc-opt/bin/src/ray/thirdparty -isystem external/boost -isystem bazel-out/ppc-opt/bin/external/boost -isystem external/boost/boost/asio -isystem bazel-out/ppc-opt/bin/external/boost/boost/asio -isystem external/boost/boost/bind -isystem bazel-out/ppc-opt/bin/external/boost/boost/bind -isystem external/boost/boost/get_pointer -isystem bazel-out/ppc-opt/bin/external/boost/boost/get_pointer -isystem external/boost/boost/is_placeholder -isystem bazel-out/ppc-opt/bin/external/boost/boost/is_placeholder -isystem external/boost/boost/mem_fn -isystem bazel-out/ppc-opt/bin/external/boost/boost/mem_fn -isystem external/boost/boost/ref -isystem bazel-out/ppc-opt/bin/external/boost/boost/ref -isystem external/boost/boost/config -isystem bazel-out/ppc-opt/bin/external/boost/boost/config -isystem external/boost/boost/version -isystem bazel-out/ppc-opt/bin/external/boost/boost/version -isystem external/boost/boost/core -isystem bazel-out/ppc-opt/bin/external/boost/boost/core -isystem external/boost/boost/detail -isystem bazel-out/ppc-opt/bin/external/boost/boost/detail -isystem external/boost/boost/limits -isystem bazel-out/ppc-opt/bin/external/boost/boost/limits -isystem external/boost/boost/utility -isystem bazel-out/ppc-opt/bin/external/boost/boost/utility -isystem external/boost/boost/container_hash -isystem bazel-out/ppc-opt/bin/external/boost/boost/container_hash -isystem external/boost/boost/assert -isystem bazel-out/ppc-opt/bin/external/boost/boost/assert -isystem external/boost/boost/integer -isystem bazel-out/ppc-opt/bin/external/boost/boost/integer -isystem external/boost/boost/cstdint -isystem bazel-out/ppc-opt/bin/external/boost/boost/cstdint -isystem external/boost/boost/static_assert -isystem bazel-out/ppc-opt/bin/external/boost/boost/static_assert -isystem external/boost/boost/type_traits -isystem bazel-out/ppc-opt/bin/external/boost/boost/type_traits -isystem external/boost/boost/mpl -isystem bazel-out/ppc-opt/bin/external/boost/boost/mpl -isystem external/boost/boost/move -isystem bazel-out/ppc-opt/bin/external/boost/boost/move -isystem external/boost/boost/preprocessor -isystem bazel-out/ppc-opt/bin/external/boost/boost/preprocessor -isystem external/boost/boost/swap -isystem bazel-out/ppc-opt/bin/external/boost/boost/swap -isystem external/boost/boost/throw_exception -isystem bazel-out/ppc-opt/bin/external/boost/boost/throw_exception -isystem external/boost/boost/current_function -isystem bazel-out/ppc-opt/bin/external/boost/boost/current_function -isystem external/boost/boost/exception -isystem bazel-out/ppc-opt/bin/external/boost/boost/exception -isystem external/boost/boost/type -isystem bazel-out/ppc-opt/bin/external/boost/boost/type -isystem external/boost/boost/visit_each -isystem bazel-out/ppc-opt/bin/external/boost/boost/visit_each -isystem external/boost/boost/date_time -isystem bazel-out/ppc-opt/bin/external/boost/boost/date_time -isystem external/boost/boost/algorithm -isystem bazel-out/ppc-opt/bin/external/boost/boost/algorithm -isystem external/boost/boost/function -isystem bazel-out/ppc-opt/bin/external/boost/boost/function -isystem external/boost/boost/type_index -isystem bazel-out/ppc-opt/bin/external/boost/boost/type_index -isystem external/boost/boost/functional -isystem bazel-out/ppc-opt/bin/external/boost/boost/functional -isystem external/boost/boost/iterator -isystem bazel-out/ppc-opt/bin/external/boost/boost/iterator -isystem external/boost/boost/range -isystem bazel-out/ppc-opt/bin/external/boost/boost/range -isystem external/boost/boost/array -isystem bazel-out/ppc-opt/bin/external/boost/boost/array -isystem external/boost/boost/concept_check -isystem bazel-out/ppc-opt/bin/external/boost/boost/concept_check -isystem external/boost/boost/concept -isystem bazel-out/ppc-opt/bin/external/boost/boost/concept -isystem external/boost/boost/concept_archetype -isystem bazel-out/ppc-opt/bin/external/boost/boost/concept_archetype -isystem external/boost/boost/noncopyable -isystem bazel-out/ppc-opt/bin/external/boost/boost/noncopyable -isystem external/boost/boost/optional -isystem bazel-out/ppc-opt/bin/external/boost/boost/optional -isystem external/boost/boost/none -isystem bazel-out/ppc-opt/bin/external/boost/boost/none -isystem external/boost/boost/regex -isystem bazel-out/ppc-opt/bin/external/boost/boost/regex -isystem external/boost/boost/predef -isystem bazel-out/ppc-opt/bin/external/boost/boost/predef -isystem external/boost/boost/smart_ptr -isystem bazel-out/ppc-opt/bin/external/boost/boost/smart_ptr -isystem external/boost/boost/align -isystem bazel-out/ppc-opt/bin/external/boost/boost/align -isystem external/boost/boost/scoped_array -isystem bazel-out/ppc-opt/bin/external/boost/boost/scoped_array -isystem external/boost/boost/checked_delete -isystem bazel-out/ppc-opt/bin/external/boost/boost/checked_delete -isystem external/boost/boost/scoped_ptr -isystem bazel-out/ppc-opt/bin/external/boost/boost/scoped_ptr -isystem external/boost/boost/shared_array -isystem bazel-out/ppc-opt/bin/external/boost/boost/shared_array -isystem external/boost/boost/shared_ptr -isystem bazel-out/ppc-opt/bin/external/boost/boost/shared_ptr -isystem external/boost/boost/tuple -isystem bazel-out/ppc-opt/bin/external/boost/boost/tuple -isystem external/boost/boost/io -isystem bazel-out/ppc-opt/bin/external/boost/boost/io -isystem external/boost/boost/lexical_cast -isystem bazel-out/ppc-opt/bin/external/boost/boost/lexical_cast -isystem external/boost/boost/chrono -isystem bazel-out/ppc-opt/bin/external/boost/boost/chrono -isystem external/boost/boost/operators -isystem bazel-out/ppc-opt/bin/external/boost/boost/operators -isystem external/boost/boost/ratio -isystem bazel-out/ppc-opt/bin/external/boost/boost/ratio -isystem external/boost/boost/system -isystem bazel-out/ppc-opt/bin/external/boost/boost/system -isystem external/boost/boost/cerrno -isystem bazel-out/ppc-opt/bin/external/boost/boost/cerrno -isystem external/boost/boost/container -isystem bazel-out/ppc-opt/bin/external/boost/boost/container -isystem external/boost/boost/intrusive -isystem bazel-out/ppc-opt/bin/external/boost/boost/intrusive -isystem external/boost/boost/math -isystem bazel-out/ppc-opt/bin/external/boost/boost/math -isystem external/boost/boost/atomic -isystem bazel-out/ppc-opt/bin/external/boost/boost/atomic -isystem external/boost/boost/fusion -isystem bazel-out/ppc-opt/bin/external/boost/boost/fusion -isystem external/boost/boost/call_traits -isystem bazel-out/ppc-opt/bin/external/boost/boost/call_traits -isystem external/boost/boost/function_types -isystem bazel-out/ppc-opt/bin/external/boost/boost/function_types -isystem external/boost/boost/typeof -isystem bazel-out/ppc-opt/bin/external/boost/boost/typeof -isystem external/boost/boost/lambda -isystem bazel-out/ppc-opt/bin/external/boost/boost/lambda -isystem external/boost/boost/mp11 -isystem bazel-out/ppc-opt/bin/external/boost/boost/mp11 -isystem external/boost/boost/numeric_conversion -isystem bazel-out/ppc-opt/bin/external/boost/boost/numeric_conversion -isystem external/boost/boost/tokenizer -isystem bazel-out/ppc-opt/bin/external/boost/boost/tokenizer -isystem external/com_google_googletest/googlemock -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googlemock -isystem external/com_google_googletest/googlemock/include -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googlemock/include -isystem external/com_google_googletest/googletest -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googletest -isystem external/com_google_googletest/googletest/include -isystem bazel-out/ppc-opt/bin/external/com_google_googletest/googletest/include -isystem external/boost/boost/filesystem -isystem bazel-out/ppc-opt/bin/external/boost/boost/filesystem -isystem external/com_github_grpc_grpc/include -isystem bazel-out/ppc-opt/bin/external/com_github_grpc_grpc/include -isystem external/com_github_grpc_grpc/src/core/ext/upb-generated -isystem bazel-out/ppc-opt/bin/external/com_github_grpc_grpc/src/core/ext/upb-generated -isystem external/com_github_cares_cares -isystem bazel-out/ppc-opt/bin/external/com_github_cares_cares -isystem external/com_github_grpc_grpc/third_party/address_sorting/include -isystem bazel-out/ppc-opt/bin/external/com_github_grpc_grpc/third_party/address_sorting/include -isystem external/boringssl/src/include -isystem bazel-out/ppc-opt/bin/external/boringssl/src/include -isystem external/msgpack/include -isystem bazel-out/ppc-opt/bin/external/msgpack/include -DRAY_USE_GLOG -DARROW_USE_GLOG -Werror -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c src/ray/object_manager/plasma/client.cc -o bazel-out/ppc-opt/bin/_objs/plasma_client/client.pic.o)
Execution platform: @local_config_platform//:host
Use --sandbox_debug to see verbose messages from the sandbox
src/ray/object_manager/plasma/client.cc:244:38: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
bool evict_if_full = true);
^~~~
src/ray/object_manager/plasma/client.cc:247:74: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
const std::string& metadata, bool evict_if_full = true);
^~~~
src/ray/object_manager/plasma/client.cc:252:50: error: could not convert 'true' from 'bool' to '__vector(4) __bool int'
bool evict_if_full = true);
^~~~
src/ray/object_manager/plasma/client.cc: In member function '__vector(4) __bool int plasma::PlasmaClient::Impl::IsInUse(const ray::ObjectID&)':
src/ray/object_manager/plasma/client.cc:393:40: error: cannot convert 'bool' to '__vector(4) __bool int' in return
return (elem != objects_in_use_.end());
^
In file included from bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/buffer.h:30:0,
from bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:25,
from src/ray/object_manager/plasma/client.cc:20:
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::Create(const ray::ObjectID&, int64_t, const uint8_t*, int64_t, std::shared_ptr<arrow::Buffer>*, int, __vector(4) __bool int)':
src/ray/object_manager/plasma/client.cc:441:60: error: cannot convert '__vector(4) __bool int' to 'bool' for argument '3' to 'arrow::Status plasma::SendCreateRequest(int, ray::ObjectID, bool, int64_t, int64_t, int)'
metadata_size, device_num));
^
bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/status.h:57:62: note: in definition of macro 'ARROW_RETURN_NOT_OK'
::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
^~~~~~
src/ray/object_manager/plasma/client.cc:440:3: note: in expansion of macro 'RETURN_NOT_OK'
RETURN_NOT_OK(SendCreateRequest(store_conn_, object_id, evict_if_full, data_size,
^~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:493:49: error: no matching function for call to 'plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*, bool)'
IncrementObjectCount(object_id, &object, false);
^
src/ray/object_manager/plasma/client.cc:407:6: note: candidate: void plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*, __vector(4) __bool int)
void PlasmaClient::Impl::IncrementObjectCount(const ObjectID& object_id,
^~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:407:6: note: no known conversion for argument 3 from 'bool' to '__vector(4) __bool int'
src/ray/object_manager/plasma/client.cc:498:49: error: no matching function for call to 'plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*, bool)'
IncrementObjectCount(object_id, &object, false);
^
src/ray/object_manager/plasma/client.cc:407:6: note: candidate: void plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*, __vector(4) __bool int)
void PlasmaClient::Impl::IncrementObjectCount(const ObjectID& object_id,
^~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:407:6: note: no known conversion for argument 3 from 'bool' to '__vector(4) __bool int'
In file included from bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/buffer.h:30:0,
from bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:25,
from src/ray/object_manager/plasma/client.cc:20:
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::CreateAndSeal(const ray::ObjectID&, const string&, const string&, __vector(4) __bool int)':
src/ray/object_manager/plasma/client.cc:511:50: error: cannot convert '__vector(4) __bool int' to 'bool' for argument '3' to 'arrow::Status plasma::SendCreateAndSealRequest(int, const ray::ObjectID&, bool, const string&, const string&)'
metadata));
^
bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/status.h:57:62: note: in definition of macro 'ARROW_RETURN_NOT_OK'
::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
^~~~~~
src/ray/object_manager/plasma/client.cc:510:3: note: in expansion of macro 'RETURN_NOT_OK'
RETURN_NOT_OK(SendCreateAndSealRequest(store_conn_, object_id, evict_if_full, data,
^~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::CreateAndSealBatch(const std::vector<ray::ObjectID>&, const std::vector<std::basic_string<char> >&, const std::vector<std::basic_string<char> >&, __vector(4) __bool int)':
src/ray/object_manager/plasma/client.cc:528:61: error: cannot convert '__vector(4) __bool int' to 'bool' for argument '3' to 'arrow::Status plasma::SendCreateAndSealBatchRequest(int, const std::vector<ray::ObjectID>&, bool, const std::vector<std::basic_string<char> >&, const std::vector<std::basic_string<char> >&)'
data, metadata));
^
bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/status.h:57:62: note: in definition of macro 'ARROW_RETURN_NOT_OK'
::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
^~~~~~
src/ray/object_manager/plasma/client.cc:527:3: note: in expansion of macro 'RETURN_NOT_OK'
RETURN_NOT_OK(SendCreateAndSealBatchRequest(store_conn_, object_ids, evict_if_full,
^~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::GetBuffers(const ray::ObjectID*, int64_t, int64_t, const std::function<std::shared_ptr<arrow::Buffer>(const ray::ObjectID&, const std::shared_ptr<arrow::Buffer>&)>&, plasma::ObjectBuffer*)':
src/ray/object_manager/plasma/client.cc:543:22: error: cannot convert 'bool' to '__vector(4) __bool int' in initialization
bool all_present = true;
^~~~
src/ray/object_manager/plasma/client.cc:549:21: error: cannot convert 'bool' to '__vector(4) __bool int' in assignment
all_present = false;
^~~~~
src/ray/object_manager/plasma/client.cc:550:16: error: could not convert '((object_entry.std::__detail::_Node_iterator<std::pair<const ray::ObjectID, std::unique_ptr<plasma::ObjectInUseEntry> >, false, true>::operator->()->std::pair<const ray::ObjectID, std::unique_ptr<plasma::ObjectInUseEntry> >::second.std::unique_ptr<plasma::ObjectInUseEntry>::operator->()->plasma::ObjectInUseEntry::is_sealed == (__vector(4) __bool int){0, 0, 0, 0}) ? (__vector(4) int){-1, -1, -1, -1} : (__vector(4) int){0, 0, 0, 0})' from '__vector(4) int' to 'bool'
} else if (!object_entry->second->is_sealed) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:558:21: error: cannot convert 'bool' to '__vector(4) __bool int' in assignment
all_present = false;
^~~~~
src/ray/object_manager/plasma/client.cc:585:55: error: no matching function for call to 'plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*&, bool)'
IncrementObjectCount(object_ids[i], object, true);
^
src/ray/object_manager/plasma/client.cc:407:6: note: candidate: void plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*, __vector(4) __bool int)
void PlasmaClient::Impl::IncrementObjectCount(const ObjectID& object_id,
^~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:407:6: note: no known conversion for argument 3 from 'bool' to '__vector(4) __bool int'
src/ray/object_manager/plasma/client.cc:589:18: error: could not convert 'all_present' from '__vector(4) __bool int' to 'bool'
if (all_present) {
^
src/ray/object_manager/plasma/client.cc:662:64: error: no matching function for call to 'plasma::PlasmaClient::Impl::IncrementObjectCount(__gnu_cxx::__alloc_traits<std::allocator<ray::ObjectID> >::value_type&, plasma::PlasmaObject*&, bool)'
IncrementObjectCount(received_object_ids[i], object, true);
^
src/ray/object_manager/plasma/client.cc:407:6: note: candidate: void plasma::PlasmaClient::Impl::IncrementObjectCount(const ray::ObjectID&, plasma::PlasmaObject*, __vector(4) __bool int)
void PlasmaClient::Impl::IncrementObjectCount(const ObjectID& object_id,
^~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:407:6: note: no known conversion for argument 3 from 'bool' to '__vector(4) __bool int'
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::Contains(const ray::ObjectID&, __vector(4) __bool int*)':
src/ray/object_manager/plasma/client.cc:749:19: error: cannot convert 'int' to '__vector(4) __bool int' in assignment
*has_object = 1;
^
In file included from bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/buffer.h:30:0,
from bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:25,
from src/ray/object_manager/plasma/client.cc:20:
src/ray/object_manager/plasma/client.cc:759:80: error: cannot convert '__vector(4) __bool int*' to 'bool*' for argument '4' to 'arrow::Status plasma::ReadContainsReply(uint8_t*, size_t, ray::ObjectID*, bool*)'
ReadContainsReply(buffer.data(), buffer.size(), &object_id2, has_object));
^
bazel-out/ppc-opt/bin/external/arrow/_virtual_includes/arrow/arrow/status.h:57:62: note: in definition of macro 'ARROW_RETURN_NOT_OK'
::arrow::Status __s = ::arrow::internal::GenericToStatus(status); \
^~~~~~
src/ray/object_manager/plasma/client.cc:758:5: note: in expansion of macro 'RETURN_NOT_OK'
RETURN_NOT_OK(
^~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc: In member function '__vector(4) __bool int plasma::PlasmaClient::Impl::ComputeObjectHashParallel(plasma::XXH64_state_t*, const unsigned char*, int64_t)':
src/ray/object_manager/plasma/client.cc:804:10: error: cannot convert 'bool' to '__vector(4) __bool int' in return
return true;
^~~~
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::Seal(const ray::ObjectID&)':
src/ray/object_manager/plasma/client.cc:845:29: error: could not convert 'object_entry.std::__detail::_Node_iterator<std::pair<const ray::ObjectID, std::unique_ptr<plasma::ObjectInUseEntry> >, false, true>::operator->()->std::pair<const ray::ObjectID, std::unique_ptr<plasma::ObjectInUseEntry> >::second.std::unique_ptr<plasma::ObjectInUseEntry>::operator->()->plasma::ObjectInUseEntry::is_sealed' from '__vector(4) __bool int' to 'bool'
if (object_entry->second->is_sealed) {
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
src/ray/object_manager/plasma/client.cc:850:37: error: cannot convert 'bool' to '__vector(4) __bool int' in assignment
object_entry->second->is_sealed = true;
^~~~
src/ray/object_manager/plasma/client.cc: In member function 'arrow::Status plasma::PlasmaClient::Impl::Abort(const ray::ObjectID&)':
src/ray/object_manager/plasma/client.cc:872:10: error: void value not ignored as it ought to be
<< "Plasma client called abort on a sealed object";
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/ray/common/id.h:28:0,
from bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/common.h:26,
from bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:28,
from src/ray/object_manager/plasma/client.cc:20:
src/ray/object_manager/plasma/client.cc:871:3: error: void value not ignored as it ought to be
RAY_CHECK(!object_entry->second->is_sealed)
^
src/ray/object_manager/plasma/client.cc: At global scope:
src/ray/object_manager/plasma/client.cc:1135:8: error: prototype for 'arrow::Status plasma::PlasmaClient::Create(const ray::ObjectID&, int64_t, const uint8_t*, int64_t, std::shared_ptr<arrow::Buffer>*, int, __vector(4) __bool int)' does not match any in class 'plasma::PlasmaClient'
Status PlasmaClient::Create(const ObjectID& object_id, int64_t data_size,
^~~~~~~~~~~~
In file included from src/ray/object_manager/plasma/client.cc:20:0:
bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:99:10: error: candidate is: arrow::Status plasma::PlasmaClient::Create(const ray::ObjectID&, int64_t, const uint8_t*, int64_t, std::shared_ptr<arrow::Buffer>*, int, bool)
Status Create(const ObjectID& object_id, int64_t data_size, const uint8_t* metadata,
^~~~~~
src/ray/object_manager/plasma/client.cc:1143:8: error: prototype for 'arrow::Status plasma::PlasmaClient::CreateAndSeal(const ray::ObjectID&, const string&, const string&, __vector(4) __bool int)' does not match any in class 'plasma::PlasmaClient'
Status PlasmaClient::CreateAndSeal(const ObjectID& object_id, const std::string& data,
^~~~~~~~~~~~
In file included from src/ray/object_manager/plasma/client.cc:20:0:
bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:113:10: error: candidate is: arrow::Status plasma::PlasmaClient::CreateAndSeal(const ray::ObjectID&, const string&, const string&, bool)
Status CreateAndSeal(const ObjectID& object_id, const std::string& data,
^~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:1148:8: error: prototype for 'arrow::Status plasma::PlasmaClient::CreateAndSealBatch(const std::vector<ray::ObjectID>&, const std::vector<std::basic_string<char> >&, const std::vector<std::basic_string<char> >&, __vector(4) __bool int)' does not match any in class 'plasma::PlasmaClient'
Status PlasmaClient::CreateAndSealBatch(const std::vector<ObjectID>& object_ids,
^~~~~~~~~~~~
In file included from src/ray/object_manager/plasma/client.cc:20:0:
bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:125:10: error: candidate is: arrow::Status plasma::PlasmaClient::CreateAndSealBatch(const std::vector<ray::ObjectID>&, const std::vector<std::basic_string<char> >&, const std::vector<std::basic_string<char> >&, bool)
Status CreateAndSealBatch(const std::vector<ObjectID>& object_ids,
^~~~~~~~~~~~~~~~~~
src/ray/object_manager/plasma/client.cc:1169:8: error: prototype for 'arrow::Status plasma::PlasmaClient::Contains(const ray::ObjectID&, __vector(4) __bool int*)' does not match any in class 'plasma::PlasmaClient'
Status PlasmaClient::Contains(const ObjectID& object_id, bool* has_object) {
^~~~~~~~~~~~
In file included from src/ray/object_manager/plasma/client.cc:20:0:
bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:180:10: error: candidate is: arrow::Status plasma::PlasmaClient::Contains(const ray::ObjectID&, bool*)
Status Contains(const ObjectID& object_id, bool* has_object);
^~~~~~~~
src/ray/object_manager/plasma/client.cc:1215:6: error: prototype for '__vector(4) __bool int plasma::PlasmaClient::IsInUse(const ray::ObjectID&)' does not match any in class 'plasma::PlasmaClient'
bool PlasmaClient::IsInUse(const ObjectID& object_id) {
^~~~~~~~~~~~
In file included from src/ray/object_manager/plasma/client.cc:20:0:
bazel-out/ppc-opt/bin/_virtual_includes/plasma_client/ray/object_manager/plasma/client.h:289:8: error: candidate is: bool plasma::PlasmaClient::IsInUse(const ray::ObjectID&)
bool IsInUse(const ObjectID& object_id);
^~~~~~~
Target //:ray_pkg failed to build
INFO: Elapsed time: 15.212s, Critical Path: 12.51s
INFO: 43 processes: 43 processwrapper-sandbox.
FAILED: Build did NOT complete successfully
References related to the plasma_client issue:
https://bugzilla.redhat.com/show_bug.cgi?id=1419452
https://bugzilla.redhat.com/show_bug.cgi?id=1394505
The following change fixed //:plasma_client build issue:
[root@0ec9a5ca60e0 python]# git diff
diff --git a/src/ray/object_manager/plasma/client.cc b/src/ray/object_manager/plasma/client.cc
index edbed32..bcd6c6e 100644
--- a/src/ray/object_manager/plasma/client.cc
+++ b/src/ray/object_manager/plasma/client.cc
@@ -71,6 +71,8 @@ using arrow::cuda::CudaDeviceManager;
#define XXH64_DEFAULT_SEED 0
+#undef bool
+
namespace fb = plasma::flatbuf;
namespace plasma {
Need to add proper ifdefs and check behavior on x86 too.
@amitsadaphule Regarding the __unix__ macro, I made a PR to patch msgpack like before.
Regarding the bool error, however, it appears to be an issue with the compiler or standard library that you're using, not an issue in a Ray dependency. Moreover, the Ray (or rather, Plasma) code is entirely correct C++; there's nothing wrong with assigning true to a bool. As such, I don't think it makes sense to try to work around it in Ray.
To work around it on your side, you can just run echo build:linux --cxxopt=-std=gnu++0x >> ~/.bazelrc (or add any other option you'd like). Alternatively, you can make a similar modification to the project's .bazelrc file. It should then get picked up properly by the bazel build //:ray_pkg command.
@mehrdadn thanks for your help on this!
Most helpful comment
@mehrdadn thanks for your help on this!