You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2021/05/26 09:33:13 UTC

[GitHub] [arrow] thisisnic opened a new pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

thisisnic opened a new pull request #10404:
URL: https://github.com/apache/arrow/pull/10404


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kou commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
kou commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-871034191


   @thisisnic Could you try the following change with #10626 on Raspberry Pi?
   
   ```diff
   diff --git a/r/configure b/r/configure
   index aa7e7a8d0..899a4a9f8 100755
   --- a/r/configure
   +++ b/r/configure
   @@ -82,9 +82,8 @@ else
      pkg-config --version >/dev/null 2>&1
      if [ $? -eq 0 ] && [ "$ARROW_USE_PKG_CONFIG" != "false" ]; then
        PKGCONFIG_CFLAGS=`pkg-config --cflags --silence-errors ${PKG_CONFIG_NAME}`
   -    PKGCONFIG_LIBS=`pkg-config --libs-only-l --silence-errors ${PKG_CONFIG_NAME}`
   -    PKGCONFIG_DIRS=`pkg-config --libs-only-L --silence-errors ${PKG_CONFIG_NAME}`
   -    # TODO: what about --libs-only-other?
   +    PKGCONFIG_LIBS=`pkg-config --libs-only-l --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`
   +    PKGCONFIG_DIRS=`pkg-config --libs-only-L --static --silence-errors ${PKG_CONFIG_NAME}`
      fi
    
      if [ "$PKGCONFIG_CFLAGS" ] && [ "$PKGCONFIG_LIBS" ]; then
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-854986468


   According to the discussion and logs on ARROW-12860, where this was originally reported, the Arrow C++ (static) library builds but the shared library that R builds with it fails to load due to missing symbols. IIUC, a workaround in the R package is appropriate for now, and the "right" solution is to do ARROW-6312 and in that code include `-latomic` on this platform.
   
   Also somewhat related: ARROW-8041


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on a change in pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on a change in pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#discussion_r661780849



##########
File path: csharp/examples/FluentBuilderExample/Program.cs
##########
@@ -51,7 +51,7 @@ public static async Task Main(string[] args)
             using (var writer = new ArrowFileWriter(stream, recordBatch.Schema))
             {
                 await writer.WriteRecordBatchAsync(recordBatch);
-                await writer.WriteFooterAsync();
+                await writer.WriteEndAsync();

Review comment:
       I was planning to revert this, will mark this PR as a draft to flag this, sorry!




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] westonpace commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
westonpace commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-849076053


   Maybe CC @kou @kszucs ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-876557468


   We will need to do more work to wire up the changes that kou made, I think. I can help next week. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] westonpace commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
westonpace commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-871752641


   > I'm a bit lost in the above conversation, but it sounds like what is going on here is:
   > 
   >     * the atomic library being missing is the main focus here.  It can be achieved via R _but_ the correct way to do it is via the changes in the PR mentioned above
   > 
   >     * I need to test out whether the changes in the PR mentioned above work to install things on the Pi (_without_ the changes I made, as these are supposed to be _instead_ of those not _as well as_ those)
   > 
   >     * so I need to build the Arrow C++ library with the changes suggested above by @kou , and all being well, the R package should the install successfully without me adding the -latomic flag
   
   I think that is a very good summary.  Yesterday I spent a little bit of time trying to setup a docker environment where the -latomic flag is needed but it seems that it is less "what software is present" (which docker can control) and more "what hardware is present" (which docker doesn't control as much) so I wasn't able to produce a "raspberry-pi-like environment" to test in.  A friend of mine agreed to mail me a spare Pi that he wasn't using so I can take a look a week or so.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] github-actions[bot] commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-848650944


   https://issues.apache.org/jira/browse/ARROW-12876


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on a change in pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on a change in pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#discussion_r639923366



##########
File path: r/configure
##########
@@ -185,6 +185,11 @@ else
   fi
 fi
 
+# If on Raspberry Pi, need to manually link against latomic

Review comment:
       can you add a link to the gcc bug or whatever you found that explains this?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-876554188


   I wiped my Pi and started again just to make sure I hadn't installed things which aren't mentioned in the dev guides which may need adding, etc.  
   
   I got an install error this time, but I'm a bit unsure as to which bit points to the relevant missing components.  Is it re2, or are there other relevant bits in the output here?  
   
   ```
   pi@raspberrypi:~/arrow/cpp/build $ cmake   -DCMAKE_INSTALL_PREFIX=$ARROW_HOME   -DCMAKE_INSTALL_LIBDIR=lib   -DARROW_COMPUTE=ON   -DARROW_CSV=ON   -DARROW_DATASET=ON   -DARROW_EXTRA_ERROR_CONTEXT=ON   -DARROW_FILESYSTEM=ON   -DARROW_INSTALL_NAME_RPATH=OFF   -DARROW_JEMALLOC=ON   -DARROW_JSON=ON   -DARROW_PARQUET=ON   -DARROW_WITH_SNAPPY=ON   -DARROW_WITH_ZLIB=ON -DBoost_SOURCE=BUNDLED -DThrift_SOURCE=bundled -DCMAKE_BUILD_TYPE=debug  ..
   -- Building using CMake version: 3.7.2
   -- Arrow version: 5.0.0 (full: '5.0.0-SNAPSHOT')
   -- Arrow SO version: 500 (full: 500.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 cpplint executable at /home/pi/arrow/cpp/build-support/cpplint.py
   -- System processor: armv7l
   -- Arrow build warning level: CHECKIN
   Using ld linker
   Configured for DEBUG build (set with cmake -DCMAKE_BUILD_TYPE={release,debug,...})
   -- Build Type: DEBUG
   -- Using AUTO approach to find dependencies
   -- ARROW_ABSL_BUILD_VERSION: 0f3bb466b868b523cf1dc9b2aaaed65c77b28862
   -- ARROW_AWSSDK_BUILD_VERSION: 1.8.133
   -- ARROW_AWS_CHECKSUMS_BUILD_VERSION: v0.1.10
   -- ARROW_AWS_C_COMMON_BUILD_VERSION: v0.5.10
   -- ARROW_AWS_C_EVENT_STREAM_BUILD_VERSION: v0.1.5
   -- ARROW_BOOST_BUILD_VERSION: 1.75.0
   -- ARROW_BROTLI_BUILD_VERSION: v1.0.9
   -- ARROW_BZIP2_BUILD_VERSION: 1.0.8
   -- ARROW_CARES_BUILD_VERSION: 1.17.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.35.0
   -- ARROW_GTEST_BUILD_VERSION: 1.10.0
   -- ARROW_JEMALLOC_BUILD_VERSION: 5.2.1
   -- ARROW_LZ4_BUILD_VERSION: v1.9.3
   -- ARROW_MIMALLOC_BUILD_VERSION: v1.6.4
   -- ARROW_ORC_BUILD_VERSION: 1.6.6
   -- ARROW_PROTOBUF_BUILD_VERSION: v3.14.0
   -- ARROW_RAPIDJSON_BUILD_VERSION: 1a803826f1197b5e30703afe4b9c0e7dd48074f5
   -- ARROW_RE2_BUILD_VERSION: 2021-02-02
   -- ARROW_SNAPPY_BUILD_VERSION: 1.1.8
   -- ARROW_THRIFT_BUILD_VERSION: 0.13.0
   -- ARROW_THRIFT_BUILD_MD5_CHECKSUM: 38a27d391a2b03214b444cb13d5664f1
   -- ARROW_UTF8PROC_BUILD_VERSION: v2.6.1
   -- ARROW_XSIMD_BUILD_VERSION: e9234cd6e6f4428fc260073b2c34ffe86fda1f34
   -- ARROW_ZLIB_BUILD_VERSION: 1.2.11
   -- ARROW_ZSTD_BUILD_VERSION: v1.4.8
   -- Boost include dir: /home/pi/arrow/cpp/build/boost_ep-prefix/src/boost_ep
   -- Boost libraries: boost_system_static;boost_filesystem_static
   -- Could NOT find Snappy (missing:  Snappy_LIB Snappy_INCLUDE_DIR) 
   -- Building snappy from source
   -- Building without OpenSSL support. Minimum OpenSSL version 1.0.2 required.
   -- Building (vendored) jemalloc from source
   CMake Warning at cmake_modules/FindRapidJSONAlt.cmake:25 (find_package):
     By not providing "FindRapidJSON.cmake" in CMAKE_MODULE_PATH this project
     has asked CMake to find a package configuration file provided by
     "RapidJSON", but CMake did not find one.
   
     Could not find a package configuration file provided by "RapidJSON"
     (requested version 1.1.0) with any of the following names:
   
       RapidJSONConfig.cmake
       rapidjson-config.cmake
   
     Add the installation prefix of "RapidJSON" to CMAKE_PREFIX_PATH or set
     "RapidJSON_DIR" to a directory containing one of the above files.  If
     "RapidJSON" provides a separate development package or SDK, be sure it has
     been installed.
   Call Stack (most recent call first):
     cmake_modules/ThirdpartyToolchain.cmake:225 (find_package)
     cmake_modules/ThirdpartyToolchain.cmake:1887 (resolve_dependency)
     CMakeLists.txt:515 (include)
   
   
   -- Could NOT find RapidJSONAlt (missing:  RAPIDJSON_INCLUDE_DIR) (Required is at least version "1.1.0")
   -- Building RapidJSON from source
   -- Building xsimd from source
   CMake Warning at cmake_modules/Findre2Alt.cmake:25 (find_package):
     By not providing "Findre2.cmake" in CMAKE_MODULE_PATH this project has
     asked CMake to find a package configuration file provided by "re2", but
     CMake did not find one.
   
     Could not find a package configuration file provided by "re2" with any of
     the following names:
   
       re2Config.cmake
       re2-config.cmake
   
     Add the installation prefix of "re2" to CMAKE_PREFIX_PATH or set "re2_DIR"
     to a directory containing one of the above files.  If "re2" provides a
     separate development package or SDK, be sure it has been installed.
   Call Stack (most recent call first):
     cmake_modules/ThirdpartyToolchain.cmake:225 (find_package)
     cmake_modules/ThirdpartyToolchain.cmake:2150 (resolve_dependency)
     CMakeLists.txt:515 (include)
   
   
   -- Checking for module 're2'
   --   No package 're2' found
   -- Could NOT find re2Alt (missing:  RE2_LIB RE2_INCLUDE_DIR) 
   -- Building RE2 from source
   -- Could NOT find utf8proc: Found unsuitable version "", but required is at least "2.2.0" (found utf8proc_LIB-NOTFOUND)
   -- Building utf8proc from source
   -- Found hdfs.h at: /home/pi/arrow/cpp/thirdparty/hadoop/include/hdfs.h
   -- All bundled static libraries: Snappy::snappy;jemalloc::jemalloc;re2::re2;utf8proc::utf8proc
   -- CMAKE_C_FLAGS:  -ggdb -O0  -Wall -Wno-conversion -Wno-deprecated-declarations -Wno-sign-conversion -Werror -fno-semantic-interposition 
   -- CMAKE_CXX_FLAGS:   -fdiagnostics-color=always -ggdb -O0  -Wall -Wno-conversion -Wno-deprecated-declarations -Wno-sign-conversion -Werror -fno-semantic-interposition 
   -- Creating bundled static library target arrow_bundled_dependencies at /home/pi/arrow/cpp/build/debug/libarrow_bundled_dependencies.a
   -- ---------------------------------------------------------------------
   -- Arrow version:                                 5.0.0-SNAPSHOT
   -- 
   -- Build configuration summary:
   --   Generator: Unix Makefiles
   --   Build type: DEBUG
   --   Source directory: /home/pi/arrow/cpp
   --   Install prefix: 
   -- 
   -- 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=0feb16af7173999eaf8217caf3e0fde36a841f83 [default=""]
   --       The Arrow git commit id (if any)
   --   ARROW_GIT_DESCRIPTION=apache-arrow-0.1.0-9292-g0feb16af7-dirty [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=SSE4_2 [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=OFF [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=OFF [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=OFF [default=OFF]
   --       Build the Gandiva libraries
   --   ARROW_HDFS=OFF [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=ON [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=OFF [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=OFF [default=OFF]
   --       Build the Arrow testing libraries
   -- 
   -- Thirdparty toolchain options:
   -- 
   --   ARROW_DEPENDENCY_SOURCE=AUTO [default=AUTO|BUNDLED|SYSTEM|CONDA|VCPKG|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=ON [default=OFF]
   --       Build with Snappy compression
   --   ARROW_WITH_ZLIB=ON [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 or ARROW_GANDIVA 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=ON [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 /home/pi/arrow/cpp/build/cmake_summary.json
   CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
   Please set them or make sure they are set and tested correctly in the CMake files:
   THRIFT_INCLUDE_DIR
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/testing
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/testing
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/testing
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/testing
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/testing
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/testing
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/array
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/array
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/array
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/array
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/array
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/array
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/c
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/c
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/c
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/c
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/c
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/c
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/io
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/io
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/io
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/io
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/io
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/io
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/tensor
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/tensor
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/tensor
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/tensor
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/tensor
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/tensor
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/util
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/util
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/util
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/util
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/util
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/util
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/datetime
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/datetime
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/datetime
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/datetime
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/datetime
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/datetime
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/double-conversion
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/double-conversion
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/double-conversion
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/double-conversion
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/double-conversion
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/vendored/double-conversion
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/csv
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/csv
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/csv
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/csv
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/csv
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/csv
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/kernels
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/kernels
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/kernels
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/kernels
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/kernels
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/kernels
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/exec
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/exec
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/exec
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/exec
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/exec
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/compute/exec
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/dataset
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/filesystem
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/filesystem
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/filesystem
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/filesystem
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/filesystem
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/filesystem
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/ipc
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/json
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/json
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/json
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/json
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/json
      used as include directory in directory /home/pi/arrow/cpp/src/arrow/json
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/api
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/api
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/api
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/api
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/api
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/api
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/arrow
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/encryption
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/encryption
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/encryption
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/encryption
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/encryption
      used as include directory in directory /home/pi/arrow/cpp/src/parquet/encryption
      used as include directory in directory /home/pi/arrow/cpp/tools/parquet
      used as include directory in directory /home/pi/arrow/cpp/tools/parquet
      used as include directory in directory /home/pi/arrow/cpp/tools/parquet
      used as include directory in directory /home/pi/arrow/cpp/tools/parquet
      used as include directory in directory /home/pi/arrow/cpp/tools/parquet
      used as include directory in directory /home/pi/arrow/cpp/tools/parquet
   
   -- Configuring incomplete, errors occurred!
   See also "/home/pi/arrow/cpp/build/CMakeFiles/CMakeOutput.log".
   See also "/home/pi/arrow/cpp/build/CMakeFiles/CMakeError.log".
   
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-869564855


   > @kou @westonpace any objection to merging the R-only fix for this and ticketing a C++ followup to do it right? Or can one of you push a fix to cmake that does this the way you prefer?
   
   Sorry, had not done anything on this myself as it's beyond my skillset, and was focussing on other things ahead of the release.  If we do merge the R-only fix, we should end up dropping the last commit and merging up to the previous one.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-876585699


   OK, thanks @nealrichardson , will give you a shout then then


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] westonpace commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
westonpace commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-849075175


   While this is cool (thanks for creating this) it seems to me that it might be more appropriate to put this check into the C++ layer.  That's where we express other runtime dependencies (like the compression libs).  Then (I think, I'm not an expert on the build process) you don't need to add it here.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson closed pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson closed pull request #10404:
URL: https://github.com/apache/arrow/pull/10404


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kiszk commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
kiszk commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-851556928


   Interesting. I found similar reports (e.g. https://github.com/redis/redis/issues/6275) in other places.   
   It would be great to put the log of this failure into here.
   
   Is this only R problem?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-871730306


   I'm super lost trying to work out what to do with this.  I've tried installing a version of the R package which has the build flags changed in the case of Raspberry Pi for the R package.  I've created a .tar.gz file and the installed it via `install.packages("arrow.tar.gz", repos = NULL, type = "source")`.  This results in the successful installation of the R package, but no C++ installation - so the atomic issue is fixed I guess.
   
   The lack of successful C++ installation is due to the code in `tools/nixlibs.R` which uses the R package version to try to install the correct released version of Arrow and fails if it ends in `.9000`, which is the version number in the dev R package.
   
   I've tried taking the released version of Arrow 4.0.1 and just updating the `configure` script to include the above lines, and the ones I added to add the `-latomic` flag.  This successfully install the R package *and* retrieves the C++ package (I am waiting to see if it installs it properly - it's currently building but it'll take a while).
   
   I have no idea how I'd add in the change from https://github.com/apache/arrow/pull/10626 given the current setup, unless I suppose I was manually installing the C++ libraries myself and then setting up the R install to look at these.
   
   It's been a while since I looked at it, but I'm pretty sure the change I made to add the `-latomic` flag to the R build worked fine previously with an existing Arrow C++ installation.
   
   I'm a bit lost in the above conversation, but it sounds like what is going on here is:
   
   - the atomic library being missing is the main focus here.  It can be achieved via R _but_ the correct way to do it is via the changes in the PR mentioned above
   - I need to test out whether the changes in the PR mentioned above work to install things on the Pi (_without_ the changes I made, as these are supposed to be _instead_ of those not _as well as_ those)
   - so I need to build the Arrow C++ library with the changes suggested above by @kou , and all being well, the R package should the install successfully without me adding the -latomic flag


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] westonpace commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
westonpace commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-855016717


   It appears that it is essentially a private dependency of libc which is not listed in libc.so.  It's very similar to `-lrt`.  I suspect we could probably add it here: https://github.com/apache/arrow/blob/98f352ed8325e9d9c01f9d840dec221311f7fb22/cpp/CMakeLists.txt#L879
   
   @nealrichardson 's solution is mostly correct and would work for R (and other consumers of the Arrow static library) but would fail for anyone consuming Arrow as a shared library on a raspberry pi.  So I think, in addition to listing it as a private lib, Arrow will still need to link it when building the shared library.
   
   The Arrow shared library would build without `-latomic` because Arrow doesn't make any calls to `-latomic` (those calls are made by `libc.so`).


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kou commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
kou commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-849192015


   @thisisnic Can we build Apache Arrow C++ without additional C++ flag (`-latomic`) on Raspberry Pi? If we can't, we should fix it in Apache Arrow C++.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-869013320


   > Can we see the build error log without this change?
   
   The original failure log is on ARROW-12860.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] westonpace commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
westonpace commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-858115530


   @thisisnic Not quite.  We don't want to link to libatomic on all non-windows non-apple architectures.  Most Linux architectures will have atomics provided by gcc itself.
   
   I googled a bit and it seems there are several options.
   
    * You could add an ARROW_IS_RPI cmake flag but, as I understand it, this is the least preferred because it passes the burden back on the user to pass it in at the right time.
    * Probably the ideal would be to identify a C function that is missing without libatomic and use the test they use for `pow` in this example: https://stackoverflow.com/questions/32816646/can-cmake-detect-if-i-need-to-link-to-libm-when-using-pow-in-c
    * However, I don't think libatomic actually adds new functions.  Instead it adds supports for C builtin language features.  However, you could create a small C program and try to compile that, there is an example of that on the same SO page.
    * Perhaps there is some existing cmake flag or test you could perform to see if you are on raspberry pi, similar to how we detect simd level.
   
   Sorry for so many options.  I just don't really know which one would be the best to choose.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kou commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
kou commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-868951528


   Can we see the build error log without this change?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] kiszk edited a comment on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
kiszk edited a comment on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-851556928


   Interesting. I found similar reports (e.g. https://github.com/redis/redis/issues/6275) in other places.   
   It would be great to put the log of this failure into here.
   
   Is this only R buid problem?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] eerhardt commented on a change in pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
eerhardt commented on a change in pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#discussion_r661769986



##########
File path: csharp/examples/FluentBuilderExample/Program.cs
##########
@@ -51,7 +51,7 @@ public static async Task Main(string[] args)
             using (var writer = new ArrowFileWriter(stream, recordBatch.Schema))
             {
                 await writer.WriteRecordBatchAsync(recordBatch);
-                await writer.WriteFooterAsync();
+                await writer.WriteEndAsync();

Review comment:
       This looks like a bad merge. Were you expecting to make a change here? Can this be reverted?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on a change in pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on a change in pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#discussion_r639782382



##########
File path: r/configure
##########
@@ -44,6 +44,7 @@ NOT_CRAN=`echo $NOT_CRAN | tr '[:upper:]' '[:lower:]'`
 
 VERSION=`grep '^Version' DESCRIPTION | sed s/Version:\ //`
 UNAME=`uname -s`
+DISTID=`grep ^ID\= /etc/os-release | awk -F= '{print $2}' | sed 's/\"//g'`

Review comment:
       I don't think you need to define this (esp. if you take my suggestion below)
   
   ```suggestion
   ```

##########
File path: r/configure
##########
@@ -185,6 +186,11 @@ else
   fi
 fi
 
+# If on Raspberry Pi, need to manually link against latomic
+if [ "$DISTID" = "raspbian" ]; then

Review comment:
       I think this works and is simpler (please verify)
   
   ```suggestion
   if grep raspbian /etc/os-release >/dev/null 2>&1; then
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-858072175


   @westonpace 
   Like this (https://github.com/apache/arrow/pull/10404/commits/710ff09085dc6d5736c6e213b2605c9c23c5b89b) or did you mean something else? 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] nealrichardson commented on pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
nealrichardson commented on pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#issuecomment-868820032


   @kou @westonpace any objection to merging the R-only fix for this and ticketing a C++ followup to do it right? Or can one of you push a fix to cmake that does this the way you prefer? 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [arrow] thisisnic commented on a change in pull request #10404: ARROW-12876: [R] Fix build flags on Raspberry Pi

Posted by GitBox <gi...@apache.org>.
thisisnic commented on a change in pull request #10404:
URL: https://github.com/apache/arrow/pull/10404#discussion_r648654943



##########
File path: r/configure
##########
@@ -185,6 +185,11 @@ else
   fi
 fi
 
+# If on Raspberry Pi, need to manually link against latomic

Review comment:
       Done




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org