You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Andrew Wieteska (Jira)" <ji...@apache.org> on 2020/12/08 01:44:00 UTC

[jira] [Created] (ARROW-10841) [Cmake] Cannot build Gandiva locally

Andrew Wieteska created ARROW-10841:
---------------------------------------

             Summary: [Cmake] Cannot build Gandiva locally
                 Key: ARROW-10841
                 URL: https://issues.apache.org/jira/browse/ARROW-10841
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++ - Gandiva
            Reporter: Andrew Wieteska


I'm having trouble building Gandiva locally.
 The minimal build script I'm using is
{code:java}
HOME=/Users/andrewwieteska/repos/arrow
LIBRARY_INSTALL_DIR=$HOME/local-libs
CPP_BUILD_DIR=$HOME/arrow-cpp-build-gandiva
ARROW_ROOT=$HOME/arrow
PYTHON=3.7

#----------------------------------------------------------------------
# Activate conda in bash and activate conda environment

source /Users/andrewwieteska/anaconda3/etc/profile.d/conda.sh
conda activate pyarrow-dev
export ARROW_HOME=/Users/andrewwieteska/anaconda3/envs/pyarrow-dev
export CONDA_BUILD_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk

#----------------------------------------------------------------------
# Build C++ library

mkdir -p $CPP_BUILD_DIR
pushd $CPP_BUILD_DIR

cmake -GNinja \
      -DCMAKE_BUILD_TYPE=DEBUG \
      -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
      -DCMAKE_INSTALL_LIBDIR=lib \
      -DARROW_BUILD_TESTS=ON \
      -DARROW_SIMD_LEVEL=NONE \
      -DARROW_GANDIVA=ON \
      $ARROW_ROOT/cpp
ninja -j4
ninja install

ctest
popd
{code}
The output is:

 
{code:java}
(pyarrow-dev) andrewwieteska@x86_64-apple-darwin13 arrow % sh build_gandiva.sh
~/arrow ~
~
~/arrow-cpp-build-gandiva ~
-- Building using CMake version: 3.18.4
-- Arrow version: 3.0.0 (full: '3.0.0-SNAPSHOT')
-- Arrow SO version: 300 (full: 300.0.0)
-- clang-tidy not found
-- clang-format not found
-- Could NOT find ClangTools (missing: CLANG_FORMAT_BIN CLANG_TIDY_BIN) 
-- infer not found
-- Found Python3: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/python3.7 (found version "3.7.8") found components: Interpreter 
-- Using ccache: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/ccache
-- Found cpplint executable at /Users/andrewwieteska/repos/arrow/arrow/cpp/build-support/cpplint.py
-- System processor: x86_64
-- Arrow build warning level: CHECKIN
Configured for DEBUG build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
-- Build Type: DEBUG
-- Using CONDA approach to find dependencies
-- Using CONDA_PREFIX for ARROW_PACKAGE_PREFIX: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev
-- Setting (unset) dependency *_ROOT variables: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev
-- ARROW_ABSL_BUILD_VERSION: 2eba343b51e0923cd3fb919a6abd6120590fc059
-- ARROW_AWSSDK_BUILD_VERSION: 1.8.57
-- ARROW_AWS_CHECKSUMS_BUILD_VERSION: v0.1.5
-- ARROW_AWS_C_COMMON_BUILD_VERSION: v0.4.59
-- ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION: v0.1.5
-- ARROW_BOOST_BUILD_VERSION: 1.71.0
-- ARROW_BROTLI_BUILD_VERSION: v1.0.7
-- ARROW_BZIP2_BUILD_VERSION: 1.0.8
-- ARROW_CARES_BUILD_VERSION: 1.16.1
-- ARROW_GBENCHMARK_BUILD_VERSION: v1.5.2
-- ARROW_GFLAGS_BUILD_VERSION: v2.2.2
-- ARROW_GLOG_BUILD_VERSION: v0.4.0
-- ARROW_GRPC_BUILD_VERSION: v1.29.1
-- ARROW_GTEST_BUILD_VERSION: 1.10.0
-- ARROW_JEMALLOC_BUILD_VERSION: 5.2.1
-- ARROW_LZ4_BUILD_VERSION: v1.9.2
-- ARROW_MIMALLOC_BUILD_VERSION: v1.6.4
-- ARROW_ORC_BUILD_VERSION: 1.6.2
-- ARROW_PROTOBUF_BUILD_VERSION: v3.12.1
-- ARROW_RAPIDJSON_BUILD_VERSION: 1a803826f1197b5e30703afe4b9c0e7dd48074f5
-- ARROW_RE2_BUILD_VERSION: 2019-08-01
-- ARROW_SNAPPY_BUILD_VERSION: 1.1.8
-- ARROW_THRIFT_BUILD_VERSION: 0.12.0
-- ARROW_THRIFT_BUILD_MD5_CHECKSUM: 3deebbb4d1ca77dd9c9e009a1ea02183
-- ARROW_UTF8PROC_BUILD_VERSION: v2.5.0
-- ARROW_ZLIB_BUILD_VERSION: 1.2.11
-- ARROW_ZSTD_BUILD_VERSION: v1.4.5
-- Boost include dir: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/include
-- Boost libraries: Boost::system;Boost::filesystem
-- Building without OpenSSL support. Minimum OpenSSL version 1.0.2 required.
-- Found protoc: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/protoc
-- Found libprotoc: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/lib/libprotoc.dylib
-- Found libprotobuf: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/lib/libprotobuf.dylib
-- Found protobuf headers: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/include
-- Building (vendored) jemalloc from source
-- Providing cmake module for GTest
-- RapidJSON found. Headers: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/include
-- Providing cmake module for RE2
-- Providing cmake module for utf8proc
-- Found hdfs.h at: /Users/andrewwieteska/repos/arrow/arrow/cpp/thirdparty/hadoop/include/hdfs.h
-- All bundled static libraries: jemalloc::jemalloc
-- CMAKE_C_FLAGS: -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -isystem /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/include -Qunused-arguments -ggdb -O0 -Wall -Wextra -Wdocumentation -Wno-missing-braces -Wno-unused-parameter -Wno-unknown-warning-option -Wno-constant-logical-operand -Werror -Wno-unknown-warning-option -Wno-pass-failed 
-- CMAKE_CXX_FLAGS: -march=core2 -mtune=haswell -mssse3 -ftree-vectorize -fPIC -fPIE -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -std=c++14 -fmessage-length=0 -isystem /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/include -Qunused-arguments -fcolor-diagnostics -ggdb -O0 -Wall -Wextra -Wdocumentation -Wno-missing-braces -Wno-unused-parameter -Wno-unknown-warning-option -Wno-constant-logical-operand -Werror -Wno-unknown-warning-option -Wno-pass-failed 
-- Creating bundled static library target arrow_bundled_dependencies at /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/debug/libarrow_bundled_dependencies.a
-- Found Python3: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/python3.7 (found version "3.7.8") found components: Interpreter Development NumPy Development.Module Development.Embed 
-- Using LLVMConfig.cmake in: /usr/local/opt/llvm/lib/cmake/llvm
-- Found llvm-link /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/llvm-link
-- Found clang /usr/local/opt/llvm/bin/clang-11
-- ---------------------------------------------------------------------
-- Arrow version: 3.0.0-SNAPSHOT
-- 
-- Build configuration summary:
-- Generator: Ninja
-- Build type: DEBUG
-- Source directory: /Users/andrewwieteska/repos/arrow/arrow/cpp
-- Install prefix: /Users/andrewwieteska/anaconda3/envs/pyarrow-dev
-- 
-- Compile and link options:
-- 
-- ARROW_CXXFLAGS="" [default=""]
-- Compiler flags to append when compiling Arrow
-- ARROW_BUILD_STATIC=ON [default=ON]
-- Build static libraries
-- ARROW_BUILD_SHARED=ON [default=ON]
-- Build shared libraries
-- ARROW_PACKAGE_KIND="" [default=""]
-- Arbitrary string that identifies the kind of package
-- (for informational purposes)
-- ARROW_GIT_ID=c2cff611bf247c1d48c5d00778cd89f174da5ed5 [default=""]
-- The Arrow git commit id (if any)
-- ARROW_GIT_DESCRIPTION=apache-arrow-0.17.0-1623-gc2cff611b [default=""]
-- The Arrow git commit description (if any)
-- ARROW_NO_DEPRECATED_API=OFF [default=OFF]
-- Exclude deprecated APIs from build
-- ARROW_USE_CCACHE=ON [default=ON]
-- Use ccache when compiling (if available)
-- ARROW_USE_LD_GOLD=OFF [default=OFF]
-- Use ld.gold for linking on Linux (if available)
-- ARROW_USE_PRECOMPILED_HEADERS=OFF [default=OFF]
-- Use precompiled headers when compiling
-- ARROW_SIMD_LEVEL=NONE [default=NONE|SSE4_2|AVX2|AVX512]
-- Compile-time SIMD optimization level
-- ARROW_RUNTIME_SIMD_LEVEL=MAX [default=NONE|SSE4_2|AVX2|AVX512|MAX]
-- Max runtime SIMD optimization level
-- ARROW_ARMV8_ARCH=armv8-a [default=armv8-a|armv8-a+crc+crypto]
-- Arm64 arch and extensions
-- ARROW_ALTIVEC=ON [default=ON]
-- Build with Altivec if compiler has support
-- ARROW_RPATH_ORIGIN=OFF [default=OFF]
-- Build Arrow libraries with RATH set to $ORIGIN
-- ARROW_INSTALL_NAME_RPATH=ON [default=ON]
-- Build Arrow libraries with install_name set to @rpath
-- ARROW_GGDB_DEBUG=ON [default=ON]
-- Pass -ggdb flag to debug builds
-- 
-- Test and benchmark options:
-- 
-- ARROW_BUILD_EXAMPLES=OFF [default=OFF]
-- Build the Arrow examples
-- ARROW_BUILD_TESTS=ON [default=OFF]
-- Build the Arrow googletest unit tests
-- ARROW_ENABLE_TIMING_TESTS=ON [default=ON]
-- Enable timing-sensitive tests
-- ARROW_BUILD_INTEGRATION=OFF [default=OFF]
-- Build the Arrow integration test executables
-- ARROW_BUILD_BENCHMARKS=OFF [default=OFF]
-- Build the Arrow micro benchmarks
-- ARROW_BUILD_BENCHMARKS_REFERENCE=OFF [default=OFF]
-- Build the Arrow micro reference benchmarks
-- ARROW_TEST_LINKAGE=shared [default=shared|static]
-- Linkage of Arrow libraries with unit tests executables.
-- ARROW_FUZZING=OFF [default=OFF]
-- Build Arrow Fuzzing executables
-- ARROW_LARGE_MEMORY_TESTS=OFF [default=OFF]
-- Enable unit tests which use large memory
-- 
-- Lint options:
-- 
-- ARROW_ONLY_LINT=OFF [default=OFF]
-- Only define the lint and check-format targets
-- ARROW_VERBOSE_LINT=OFF [default=OFF]
-- If off, 'quiet' flags will be passed to linting tools
-- ARROW_GENERATE_COVERAGE=OFF [default=OFF]
-- Build with C++ code coverage enabled
-- 
-- Checks options:
-- 
-- ARROW_TEST_MEMCHECK=OFF [default=OFF]
-- Run the test suite using valgrind --tool=memcheck
-- ARROW_USE_ASAN=OFF [default=OFF]
-- Enable Address Sanitizer checks
-- ARROW_USE_TSAN=OFF [default=OFF]
-- Enable Thread Sanitizer checks
-- ARROW_USE_UBSAN=OFF [default=OFF]
-- Enable Undefined Behavior sanitizer checks
-- 
-- Project component options:
-- 
-- ARROW_BUILD_UTILITIES=OFF [default=OFF]
-- Build Arrow commandline utilities
-- ARROW_COMPUTE=ON [default=OFF]
-- Build the Arrow Compute Modules
-- ARROW_CSV=ON [default=OFF]
-- Build the Arrow CSV Parser Module
-- ARROW_CUDA=OFF [default=OFF]
-- Build the Arrow CUDA extensions (requires CUDA toolkit)
-- ARROW_DATASET=ON [default=OFF]
-- Build the Arrow Dataset Modules
-- ARROW_FILESYSTEM=ON [default=OFF]
-- Build the Arrow Filesystem Layer
-- ARROW_FLIGHT=OFF [default=OFF]
-- Build the Arrow Flight RPC System (requires GRPC, Protocol Buffers)
-- ARROW_GANDIVA=ON [default=OFF]
-- Build the Gandiva libraries
-- ARROW_HDFS=ON [default=OFF]
-- Build the Arrow HDFS bridge
-- ARROW_HIVESERVER2=OFF [default=OFF]
-- Build the HiveServer2 client and Arrow adapter
-- ARROW_IPC=ON [default=ON]
-- Build the Arrow IPC extensions
-- ARROW_JEMALLOC=ON [default=ON]
-- Build the Arrow jemalloc-based allocator
-- ARROW_JNI=OFF [default=OFF]
-- Build the Arrow JNI lib
-- ARROW_JSON=ON [default=OFF]
-- Build Arrow with JSON support (requires RapidJSON)
-- ARROW_MIMALLOC=OFF [default=OFF]
-- Build the Arrow mimalloc-based allocator
-- ARROW_PARQUET=OFF [default=OFF]
-- Build the Parquet libraries
-- ARROW_ORC=OFF [default=OFF]
-- Build the Arrow ORC adapter
-- ARROW_PLASMA=OFF [default=OFF]
-- Build the plasma object store along with Arrow
-- ARROW_PLASMA_JAVA_CLIENT=OFF [default=OFF]
-- Build the plasma object store java client
-- ARROW_PYTHON=ON [default=OFF]
-- Build the Arrow CPython extensions
-- ARROW_S3=OFF [default=OFF]
-- Build Arrow with S3 support (requires the AWS SDK for C++)
-- ARROW_TENSORFLOW=OFF [default=OFF]
-- Build Arrow with TensorFlow support enabled
-- ARROW_TESTING=ON [default=OFF]
-- Build the Arrow testing libraries
-- 
-- Thirdparty toolchain options:
-- 
-- ARROW_DEPENDENCY_SOURCE=CONDA [default=AUTO|BUNDLED|SYSTEM|CONDA|BREW]
-- Method to use for acquiring arrow's build dependencies
-- ARROW_VERBOSE_THIRDPARTY_BUILD=OFF [default=OFF]
-- Show output from ExternalProjects rather than just logging to files
-- ARROW_DEPENDENCY_USE_SHARED=ON [default=ON]
-- Link to shared libraries
-- ARROW_BOOST_USE_SHARED=ON [default=ON]
-- Rely on boost shared libraries where relevant
-- ARROW_BROTLI_USE_SHARED=ON [default=ON]
-- Rely on Brotli shared libraries where relevant
-- ARROW_BZ2_USE_SHARED=ON [default=ON]
-- Rely on Bz2 shared libraries where relevant
-- ARROW_GFLAGS_USE_SHARED=ON [default=ON]
-- Rely on GFlags shared libraries where relevant
-- ARROW_GRPC_USE_SHARED=ON [default=ON]
-- Rely on gRPC shared libraries where relevant
-- ARROW_LZ4_USE_SHARED=ON [default=ON]
-- Rely on lz4 shared libraries where relevant
-- ARROW_OPENSSL_USE_SHARED=ON [default=ON]
-- Rely on OpenSSL shared libraries where relevant
-- ARROW_PROTOBUF_USE_SHARED=ON [default=ON]
-- Rely on Protocol Buffers shared libraries where relevant
-- ARROW_THRIFT_USE_SHARED=ON [default=ON]
-- Rely on thrift shared libraries where relevant
-- ARROW_UTF8PROC_USE_SHARED=ON [default=ON]
-- Rely on utf8proc shared libraries where relevant
-- ARROW_SNAPPY_USE_SHARED=ON [default=ON]
-- Rely on snappy shared libraries where relevant
-- ARROW_UTF8PROC_USE_SHARED=ON [default=ON]
-- Rely on utf8proc shared libraries where relevant
-- ARROW_ZSTD_USE_SHARED=ON [default=ON]
-- Rely on zstd shared libraries where relevant
-- ARROW_USE_GLOG=OFF [default=OFF]
-- Build libraries with glog support for pluggable logging
-- ARROW_WITH_BACKTRACE=ON [default=ON]
-- Build with backtrace support
-- ARROW_WITH_BROTLI=OFF [default=OFF]
-- Build with Brotli compression
-- ARROW_WITH_BZ2=OFF [default=OFF]
-- Build with BZ2 compression
-- ARROW_WITH_LZ4=OFF [default=OFF]
-- Build with lz4 compression
-- ARROW_WITH_SNAPPY=OFF [default=OFF]
-- Build with Snappy compression
-- ARROW_WITH_ZLIB=OFF [default=OFF]
-- Build with zlib compression
-- ARROW_WITH_ZSTD=OFF [default=OFF]
-- Build with zstd compression
-- ARROW_WITH_UTF8PROC=ON [default=ON]
-- Build with support for Unicode properties using the utf8proc library
-- (only used if ARROW_COMPUTE is ON)
-- ARROW_WITH_RE2=ON [default=ON]
-- Build with support for regular expressions using the re2 library
-- (only used if ARROW_COMPUTE or ARROW_GANDIVA is ON)
-- 
-- Parquet options:
-- 
-- PARQUET_MINIMAL_DEPENDENCY=OFF [default=OFF]
-- Depend only on Thirdparty headers to build libparquet.
-- Always OFF if building binaries
-- PARQUET_BUILD_EXECUTABLES=OFF [default=OFF]
-- Build the Parquet executable CLI tools. Requires static libraries to be built.
-- PARQUET_BUILD_EXAMPLES=OFF [default=OFF]
-- Build the Parquet examples. Requires static libraries to be built.
-- PARQUET_REQUIRE_ENCRYPTION=OFF [default=OFF]
-- Build support for encryption. Fail if OpenSSL is not found
-- 
-- Gandiva options:
-- 
-- ARROW_GANDIVA_JAVA=OFF [default=OFF]
-- Build the Gandiva JNI wrappers
-- ARROW_GANDIVA_STATIC_LIBSTDCPP=OFF [default=OFF]
-- Include -static-libstdc++ -static-libgcc when linking with
-- Gandiva static libraries
-- ARROW_GANDIVA_PC_CXX_FLAGS="" [default=""]
-- Compiler flags to append when pre-compiling Gandiva operations
-- 
-- Advanced developer options:
-- 
-- ARROW_EXTRA_ERROR_CONTEXT=OFF [default=OFF]
-- Compile with extra error context (line numbers, code)
-- ARROW_OPTIONAL_INSTALL=OFF [default=OFF]
-- If enabled install ONLY targets that have already been built. Please be
-- advised that if this is enabled 'install' will fail silently on components
-- that have not been built
-- Outputting build configuration summary to /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/cmake_summary.json
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva
[33/315] Performing configure step for 'jemalloc_ep'
FAILED: jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure 
cd /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep && /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/cmake -P /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure-DEBUG.cmake && /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/cmake -E touch /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure
CMake Error at /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure-DEBUG.cmake:37 (message):
 Command failed: 77
'./configure' 'AR=/Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/x86_64-apple-darwin13.4.0-ar' 'CC=/Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/x86_64-apple-darwin13.4.0-clang' 'SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk' '--prefix=/Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep/dist/' '--with-jemalloc-prefix=je_arrow_' '--with-private-namespace=je_arrow_private_' '--without-export' '--disable-shared' '--disable-cxx' '--disable-libdl' '--disable-initial-exec-tls'
See also
/Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure-*.log

-- stdout output is:
checking for xsltproc... /usr/bin/xsltproc
checking for gcc... /Users/andrewwieteska/anaconda3/envs/pyarrow-dev/bin/x86_64-apple-darwin13.4.0-clang
checking whether the C compiler works... no
-- stderr output is:
configure: error: in `/Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep':
configure: error: C compiler cannot create executables
See `config.log' for more details
CMake Error at /Users/andrewwieteska/repos/arrow/arrow-cpp-build-gandiva/jemalloc_ep-prefix/src/jemalloc_ep-stamp/jemalloc_ep-configure-DEBUG.cmake:47 (message):
 Stopping after outputting logs.

[34/315] Generating ../irhelpers.bc
ninja: build stopped: subcommand failed.
(pyarrow-dev) andrewwieteska@x86_64-apple-darwin13 arrow %
{code}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)