apache / arrow

Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing
https://arrow.apache.org/
Apache License 2.0
14.29k stars 3.47k forks source link

[C++] Build error by passing -DARROW_HIVESERVER2=ON #23862

Closed asfimport closed 2 years ago

asfimport commented 4 years ago

Currently using Apple Clang 11.0.0 and Thrift 0.13.0 on macOS Mojave 10.14.4. I got the following errors by passing -DARROW_HIVESERVER2=ON.


In file included from /Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.cpp:7:
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:29:17: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param query
     ~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:36:17: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param query
     ~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:37:21: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param clientCtx
     ~~~~~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:44:17: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param query
     ~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:53:20: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param query_id
     ~~~~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:54:22: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param start_over
     ~~~~~~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:55:22: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param fetch_size
     ~~~~~~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:62:18: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param handle
     ~~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:69:18: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param handle
     ~~~~~~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:76:13: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param s
     ~~~~~~~^
/Users/shiro/dev/arrow/cpp/build/src/arrow/dbi/hiveserver2/BeeswaxService.h:89:19: error: empty paragraph passed to '@param' command [-Werror,-Wdocumentation]
   * @param context
     ~~~~~~~~~~~~~^
11 errors generated.

CMake command:


cmake -DCMAKE_BUILD_TYPE=debug -DARROW_GANDIVA=ON -DARROW_PARQUET=ON -DARROW_PLASMA=ON -DARROW_FLIGHT=ON -DARROW_WITH_ZLIB=ON -DARROW_JSON=ON -DARROW_CSV=ON -DARROW_ORC=ON -DARROW_TENSORFLOW=ON -DARROW_HIVESERVER2=ON ..

Output of CMake:


-- Building using CMake version: 3.15.4
-- The C compiler identification is AppleClang 11.0.0.11000033
-- The CXX compiler identification is AppleClang 11.0.0.11000033
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Arrow version: 1.0.0 (full: '1.0.0-SNAPSHOT')
-- Arrow SO version: 100 (full: 100.0.0)
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- clang-tidy not found
-- clang-format not found
-- infer not found
-- Found PythonInterp: /Users/shiro/.pyenv/shims/python (found version "3.6.1")
-- Using ccache: /usr/local/bin/ccache
-- Found cpplint executable at /Users/shiro/dev/arrow/cpp/build-support/cpplint.py
-- Performing Test CXX_SUPPORTS_SSE4_2
-- Performing Test CXX_SUPPORTS_SSE4_2 - Success
-- Performing Test CXX_SUPPORTS_ALTIVEC
-- Performing Test CXX_SUPPORTS_ALTIVEC - Success
-- Performing Test CXX_SUPPORTS_ARMCRC
-- Performing Test CXX_SUPPORTS_ARMCRC - Failed
-- Performing Test CXX_SUPPORTS_ARMV8_CRC_CRYPTO
-- Performing Test CXX_SUPPORTS_ARMV8_CRC_CRYPTO - Failed
-- Arrow build warning level: CHECKIN
Configured for DEBUG build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
-- Build Type: DEBUG
-- Using AUTO approach to find dependencies
-- ARROW_AWSSDK_BUILD_VERSION: 1.7.160
-- 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.15.0
-- ARROW_GBENCHMARK_BUILD_VERSION: v1.5.0
-- ARROW_GFLAGS_BUILD_VERSION: v2.2.0
-- ARROW_GLOG_BUILD_VERSION: v0.3.5
-- ARROW_GRPC_BUILD_VERSION: v1.24.3
-- ARROW_GTEST_BUILD_VERSION: 1.8.1
-- ARROW_JEMALLOC_BUILD_VERSION: 5.2.1
-- ARROW_LZ4_BUILD_VERSION: v1.9.2
-- ARROW_MIMALLOC_BUILD_VERSION: 270e765454f98e8bab9d42609b153425f749fff6
-- ARROW_ORC_BUILD_VERSION: 1.5.7
-- ARROW_PROTOBUF_BUILD_VERSION: v3.7.1
-- ARROW_RAPIDJSON_BUILD_VERSION: 2bbd33b33217ff4a73434ebf10cdac41e2ef5e34
-- ARROW_RE2_BUILD_VERSION: 2019-08-01
-- ARROW_SNAPPY_BUILD_VERSION: 1.1.7
-- ARROW_THRIFT_BUILD_VERSION: 0.12.0
-- ARROW_THRIFT_BUILD_MD5_CHECKSUM: 3deebbb4d1ca77dd9c9e009a1ea02183
-- ARROW_ZLIB_BUILD_VERSION: 1.2.11
-- ARROW_ZSTD_BUILD_VERSION: v1.4.3
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Boost: /usr/local/lib/cmake/Boost-1.72.0/BoostConfig.cmake (found suitable version "1.72.0", minimum required is "1.58") found components:  regex system filesystem
-- Boost include dir: /usr/local/include
-- Boost libraries: Boost::system;Boost::filesystem
-- Found OpenSSL: /usr/local/opt/openssl@1.1/lib/libcrypto.dylib (found suitable version "1.1.1d", minimum required is "1.0.2") 
-- Found OpenSSL Crypto Library: /usr/local/opt/openssl@1.1/lib/libcrypto.dylib
-- Building with OpenSSL (Version: 1.1.1d) support
-- Checking for module 'thrift'
--   Found thrift, version 0.13.0
-- Found Thrift: /usr/local/Cellar/thrift/0.13.0/lib/libthrift.dylib (found suitable version "0.13.0", minimum required is "0.10.0")
-- Found Protobuf: /usr/local/lib/libprotobuf.dylib (found suitable version "3.10.0", minimum required is "3.7.0")
-- Found protoc: /usr/local/bin/protoc
-- Found libprotoc: /usr/local/lib/libprotoc.dylib
-- Found libprotobuf: /usr/local/lib/libprotobuf.dylib
-- Found protobuf headers: /usr/local/include
-- Building (vendored) jemalloc from source
-- RapidJSON found. Headers: /usr/local/Cellar/rapidjson/1.1.0/include
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11")
-- Checking for module 'liblz4'
--   Found liblz4, version 1.9.2
-- Found Lz4: /usr/local/Cellar/lz4/1.9.2/lib/liblz4.dylib
-- Checking for module 're2'
--   Found re2, version 0.0.0
-- Found RE2: /usr/local/Cellar/re2/20190701/lib/libre2.dylib
-- Building c-ares from source
-- Checking for module 'grpc++'
--   Found grpc++, version 1.23.0
-- /usr/local/Cellar/grpc/1.23.0_3/lib;/usr/local/Cellar/grpc/1.23.0_3/lib
-- Found gRPCAlt: /usr/local/Cellar/grpc/1.23.0_3/include (found suitable version "1.23.0", minimum required is "1.17.0")
-- Found hdfs.h at: /Users/shiro/dev/arrow/cpp/thirdparty/hadoop/include/hdfs.h
Building Apache ORC from source
-- Found ORC static library: /Users/shiro/dev/arrow/cpp/build/orc_ep-install/lib/liborc.a
-- Found ORC headers: /Users/shiro/dev/arrow/cpp/build/orc_ep-install/include
-- CMAKE_C_FLAGS:  -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 -stdlib=libc++ -msse4.2 -maltivec
-- CMAKE_CXX_FLAGS:   -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 -stdlib=libc++ -msse4.2 -maltivec
Using Thrift compiler: /usr/local/Cellar/thrift/0.13.0/bin/thrift
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include
CMake Warning at cmake_modules/FindLLVM.cmake:28 (find_package):
  Could not find a configuration file for package "LLVM" that is compatible
  with requested version "7.0".  The following configuration files were considered but not accepted:    /usr/local/opt/llvm@7/lib/cmake/llvm/LLVMConfig.cmake, version: 7.1.0
    /usr/local/opt/llvm@7/lib/cmake/llvm/llvm-config.cmake, version: unknownCall Stack (most recent call first):
  src/gandiva/CMakeLists.txt:31 (find_package)
-- Found LLVM 7.1.0
-- Using LLVMConfig.cmake in: /usr/local/opt/llvm@7/lib/cmake/llvm
-- Found llvm-link /usr/local/opt/llvm@7/bin/llvm-link
-- Found clang 7.1.0 /usr/local/opt/llvm@7/bin/clang-7
-- ---------------------------------------------------------------------
-- Arrow version:                                 1.0.0-SNAPSHOT
--
-- Build configuration summary:
--   Generator: Unix Makefiles
--   Build type: DEBUG
--   Source directory: /Users/shiro/dev/arrow/cpp
--   Install prefix: /usr/local
--
-- Compile and link options:
--
--   ARROW_CXXFLAGS                                                        [default=""] ""
--       Compiler flags to append when compiling Arrow
--
--   ARROW_BUILD_STATIC                                                    [default=ON] ON
--       Build static libraries
--
--   ARROW_BUILD_SHARED                                                    [default=ON] ON
--       Build shared libraries
--
--   ARROW_NO_DEPRECATED_API                                             [default=OFF] OFF
--       Exclude deprecated APIs from build
--
--   ARROW_USE_CCACHE                                                      [default=ON] ON
--       Use ccache when compiling (if available)
--
--   ARROW_USE_LD_GOLD                                                   [default=OFF] OFF
--       Use ld.gold for linking on Linux (if available)
--
--   ARROW_USE_SIMD                                                        [default=ON] ON
--       Build with SIMD optimizations
--
--   ARROW_SSE42                                                           [default=ON] ON
--       Build with SSE4.2 if compiler has support
--
--   ARROW_ALTIVEC                                                         [default=ON] ON
--       Build with Altivec if compiler has support
--
--   ARROW_RPATH_ORIGIN                                                  [default=OFF] OFF
--       Build Arrow libraries with RATH set to $ORIGIN
--
--   ARROW_INSTALL_NAME_RPATH                                              [default=ON] ON
--       Build Arrow libraries with install_name set to @rpath
--
--   ARROW_GGDB_DEBUG                                                      [default=ON] ON
--       Pass -ggdb flag to debug builds
--
--
-- Test and benchmark options:
--
--   ARROW_BUILD_EXAMPLES                                                [default=OFF] OFF
--       Build the Arrow examples
--
--   ARROW_BUILD_TESTS                                                   [default=OFF] OFF
--       Build the Arrow googletest unit tests
--
--   ARROW_BUILD_INTEGRATION                                             [default=OFF] OFF
--       Build the Arrow integration test executables
--
--   ARROW_BUILD_BENCHMARKS                                              [default=OFF] OFF
--       Build the Arrow micro benchmarks
--
--   ARROW_BUILD_BENCHMARKS_REFERENCE                                    [default=OFF] OFF
--       Build the Arrow micro reference benchmarks
--
--   ARROW_TEST_LINKAGE                                     [default=shared|static] shared
--       Linkage of Arrow libraries with unit tests executables.
--
--   ARROW_FUZZING                                                       [default=OFF] OFF
--       Build Arrow Fuzzing executables
--
--   ARROW_LARGE_MEMORY_TESTS                                            [default=OFF] OFF
--       Enable unit tests which use large memory
--
--
-- Lint options:
--
--   ARROW_ONLY_LINT                                                     [default=OFF] OFF
--       Only define the lint and check-format targets
--
--   ARROW_VERBOSE_LINT                                                  [default=OFF] OFF
--       If off, 'quiet' flags will be passed to linting tools
--
--   ARROW_GENERATE_COVERAGE                                             [default=OFF] OFF
--       Build with C++ code coverage enabled
--
--
-- Checks options:
--
--   ARROW_TEST_MEMCHECK                                                 [default=OFF] OFF
--       Run the test suite using valgrind --tool=memcheck
--
--   ARROW_USE_ASAN                                                      [default=OFF] OFF
--       Enable Address Sanitizer checks
--
--   ARROW_USE_TSAN                                                      [default=OFF] OFF
--       Enable Thread Sanitizer checks
--
--   ARROW_USE_UBSAN                                                     [default=OFF] OFF
--       Enable Undefined Behavior sanitizer checks
--
--
-- Project component options:
--
--   ARROW_BUILD_UTILITIES                                               [default=OFF] OFF
--       Build Arrow commandline utilities
--
--   ARROW_COMPUTE                                                        [default=OFF] ON
--       Build the Arrow Compute Modules
--
--   ARROW_CSV                                                            [default=OFF] ON
--       Build the Arrow CSV Parser Module
--
--   ARROW_CUDA                                                          [default=OFF] OFF
--       Build the Arrow CUDA extensions (requires CUDA toolkit)
--
--   ARROW_DATASET                                                       [default=OFF] OFF
--       Build the Arrow Dataset Modules
--
--   ARROW_FILESYSTEM                                                    [default=OFF] OFF
--       Build the Arrow Filesystem Layer
--
--   ARROW_FLIGHT                                                         [default=OFF] ON
--       Build the Arrow Flight RPC System (requires GRPC, Protocol Buffers)
--
--   ARROW_GANDIVA                                                        [default=OFF] ON
--       Build the Gandiva libraries
--
--   ARROW_HDFS                                                          [default=OFF] OFF
--       Build the Arrow HDFS bridge
--
--   ARROW_HIVESERVER2                                                    [default=OFF] ON
--       Build the HiveServer2 client and Arrow adapter
--
--   ARROW_IPC                                                             [default=ON] ON
--       Build the Arrow IPC extensions
--
--   ARROW_JEMALLOC                                                        [default=ON] ON
--       Build the Arrow jemalloc-based allocator
--
--   ARROW_JNI                                                           [default=OFF] OFF
--       Build the Arrow JNI lib
--
--   ARROW_JSON                                                           [default=OFF] ON
--       Build Arrow with JSON support (requires RapidJSON)
--
--   ARROW_MIMALLOC                                                      [default=OFF] OFF
--       Build the Arrow mimalloc-based allocator
--
--   ARROW_PARQUET                                                        [default=OFF] ON
--       Build the Parquet libraries
--
--   ARROW_ORC                                                            [default=OFF] ON
--       Build the Arrow ORC adapter
--
--   ARROW_PLASMA                                                         [default=OFF] ON
--       Build the plasma object store along with Arrow
--
--   ARROW_PLASMA_JAVA_CLIENT                                            [default=OFF] OFF
--       Build the plasma object store java client
--
--   ARROW_PYTHON                                                        [default=OFF] OFF
--       Build the Arrow CPython extensions
--
--   ARROW_S3                                                            [default=OFF] OFF
--       Build Arrow with S3 support (requires the AWS SDK for C++)
--
--   ARROW_TENSORFLOW                                                     [default=OFF] ON
--       Build Arrow with TensorFlow support enabled
--
--
-- Thirdparty toolchain options:
--
--   ARROW_DEPENDENCY_SOURCE                 [default=AUTO|BUNDLED|SYSTEM|CONDA|BREW] AUTO
--       Method to use for acquiring arrow's build dependencies
--
--   ARROW_VERBOSE_THIRDPARTY_BUILD                                      [default=OFF] OFF
--       Show output from ExternalProjects rather than just logging to files
--
--   ARROW_BOOST_USE_SHARED                                                [default=ON] ON
--       Rely on boost shared libraries where relevant
--
--   ARROW_PROTOBUF_USE_SHARED                                             [default=ON] ON
--       Rely on Protocol Buffers shared libraries where relevant
--
--   ARROW_GFLAGS_USE_SHARED                                               [default=ON] ON
--       Rely on GFlags shared libraries where relevant
--
--   ARROW_WITH_BACKTRACE                                                  [default=ON] ON
--       Build with backtrace support
--
--   ARROW_USE_GLOG                                                      [default=OFF] OFF
--       Build libraries with glog support for pluggable logging
--
--   ARROW_WITH_BROTLI                                                   [default=OFF] OFF
--       Build with Brotli compression
--
--   ARROW_WITH_BZ2                                                      [default=OFF] OFF
--       Build with BZ2 compression
--
--   ARROW_WITH_LZ4                                                       [default=OFF] ON
--       Build with lz4 compression
--
--   ARROW_WITH_SNAPPY                                                    [default=OFF] ON
--       Build with Snappy compression
--
--   ARROW_WITH_ZLIB                                                      [default=OFF] ON
--       Build with zlib compression
--
--   ARROW_WITH_ZSTD                                                     [default=OFF] OFF
--       Build with zstd compression
--
--
-- Parquet options:
--
--   PARQUET_MINIMAL_DEPENDENCY                                          [default=OFF] OFF
--       Depend only on Thirdparty headers to build libparquet.
--       Always OFF if building binaries
--
--   PARQUET_BUILD_EXECUTABLES                                           [default=OFF] OFF
--       Build the Parquet executable CLI tools. Requires static libraries to be built.
--
--   PARQUET_BUILD_EXAMPLES                                              [default=OFF] OFF
--       Build the Parquet examples. Requires static libraries to be built.
--
--   PARQUET_REQUIRE_ENCRYPTION                                          [default=OFF] OFF
--       Build support for encryption. Fail if OpenSSL is not found
--
--
-- Gandiva options:
--
--   ARROW_GANDIVA_JAVA                                                  [default=OFF] OFF
--       Build the Gandiva JNI wrappers
--
--   ARROW_GANDIVA_STATIC_LIBSTDCPP                                      [default=OFF] 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                                           [default=OFF] OFF
--       Compile with extra error context (line numbers, code)
--
--   ARROW_OPTIONAL_INSTALL                                              [default=OFF] 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/shiro/dev/arrow/cpp/build/cmake_summary.json
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/shiro/dev/arrow/cpp/build

 

Reporter: Yosuke Shiro / @shiro615

Related issues:

Note: This issue was originally created as ARROW-7609. Please see the migration documentation for further details.

asfimport commented 4 years ago

Wes McKinney / @wesm: I apologize that I haven't been actively maintaining this code. I'm still interested in developing this and having it as part of the Arrow codebase, and having a standardized database driver API for Arrow

asfimport commented 4 years ago

Yosuke Shiro / @shiro615: I see. Thank you for confirming this issue.

asfimport commented 2 years ago

Kouhei Sutou / @kou: We removed hiveserver2 by ARROW-16832.