From bc9541aed134b25137b6deeefcd4be1c2a2c3eff Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Thu, 22 Sep 2022 15:05:08 +0900 Subject: [PATCH 01/10] ARROW-17795: WIP: [C++][R] Fix a bug that zstd isn't found for static link --- cpp/cmake_modules/FindzstdAlt.cmake | 2 ++ cpp/cmake_modules/ThirdpartyToolchain.cmake | 17 +++++++++++------ dev/tasks/r/github.packages.yml | 1 + r/inst/build_arrow_static.sh | 1 + 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/cpp/cmake_modules/FindzstdAlt.cmake b/cpp/cmake_modules/FindzstdAlt.cmake index 476006a768b30..c05cdd36a4538 100644 --- a/cpp/cmake_modules/FindzstdAlt.cmake +++ b/cpp/cmake_modules/FindzstdAlt.cmake @@ -109,4 +109,6 @@ if(zstdAlt_FOUND) set_target_properties(${zstd_TARGET} PROPERTIES IMPORTED_LOCATION "${ZSTD_LIB}" INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIR}") + message(STATUS "Zstandard library: ${ZSTD_LIB}") + message(STATUS "Zstandard include directory: ${ZSTD_INCLUDE_DIR}") endif() diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 235369caf2f9c..d281075cf45d5 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -295,7 +295,12 @@ macro(resolve_dependency DEPENDENCY_NAME) NO_CMAKE_ENVIRONMENT_PATH QUIET) if(${${ARG_PC_PACKAGE_NAME}_PC_FOUND}) + message(STATUS "Using pkg-config package for ${ARG_PC_PACKAGE_NAME} for static link" + ) string(APPEND ARROW_PC_REQUIRES_PRIVATE " ${ARG_PC_PACKAGE_NAME}") + else() + message(STATUS "pkg-config package for ${ARG_PC_PACKAGE_NAME} for static link isn't found" + ) endif() endforeach() endif() @@ -2421,14 +2426,14 @@ if(ARROW_WITH_ZSTD) set(ARROW_ZSTD_LIBZSTD zstd::libzstd_static) else() if(ARROW_ZSTD_USE_SHARED) - if(TARGET zstd::libzstd_shared) - set(ARROW_ZSTD_LIBZSTD zstd::libzstd_shared) - endif() + set(ARROW_ZSTD_LIBZSTD zstd::libzstd_shared) else() - if(TARGET zstd::libzstd_static) - set(ARROW_ZSTD_LIBZSTD zstd::libzstd_static) - endif() + set(ARROW_ZSTD_LIBZSTD zstd::libzstd_static) + endif() + if(NOT TARGET ${ARROW_ZSTD_LIBZSTD}) + message(FATAL_ERROR "Zstandard target doesn't exist: ${ARROW_ZSTD_LIBZSTD}") endif() + message(STATUS "Found Zstandard: ${ARROW_ZSTD_LIBZSTD}") endif() endif() diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index e7c3418da91e8..67cc553217eee 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -324,6 +324,7 @@ jobs: env: LIBARROW_BINARY: "FALSE" ARROW_R_DEV: "TRUE" + CMAKE_FIND_DEBUG_MODE: "ON" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | diff --git a/r/inst/build_arrow_static.sh b/r/inst/build_arrow_static.sh index 96df9f7c06877..22c3b2e03072a 100755 --- a/r/inst/build_arrow_static.sh +++ b/r/inst/build_arrow_static.sh @@ -75,6 +75,7 @@ ${CMAKE} -DARROW_BOOST_USE_SHARED=OFF \ -DARROW_WITH_ZSTD=${ARROW_WITH_ZSTD:-$ARROW_DEFAULT_PARAM} \ -DARROW_VERBOSE_THIRDPARTY_BUILD=${ARROW_VERBOSE_THIRDPARTY_BUILD:-OFF} \ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release} \ + -DCMAKE_FIND_DEBUG_MODE=${CMAKE_FIND_DEBUG_MODE:-OFF} \ -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=${DEST_DIR} \ -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON \ From b4256f6bf21409487feeebe6a33afa71da64791a Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 04:51:07 +0900 Subject: [PATCH 02/10] Set PKG_CONFIG_PATH for brew --- dev/tasks/r/github.packages.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index 67cc553217eee..d5198e0ad8fa8 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -310,6 +310,12 @@ jobs: https://raw.githubusercontent.com/{{ arrow.github_repo }}/{{ arrow.head }}/ci/scripts/install_sccache.sh | \ bash -s unknown-linux-musl /usr/local/bin - run: sudo apt update && sudo apt install libcurl4-openssl-dev + - name: Prepare PKG_CONFIG_PATH + run: | + env | sort + set -x + echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ + >> "$GITHUB_ENV" - name: Install arrow from nightly repo env: # Test source build so be sure not to download a binary From e3cbf4167c1e235c2ccac96a8cb1980c7ebbb5c6 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 04:52:21 +0900 Subject: [PATCH 03/10] Use bundled zstd --- dev/tasks/r/github.packages.yml | 8 ++++++++ r/inst/build_arrow_static.sh | 1 + 2 files changed, 9 insertions(+) diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index d5198e0ad8fa8..cb35c05db56ba 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -320,6 +320,10 @@ jobs: env: # Test source build so be sure not to download a binary LIBARROW_BINARY: "FALSE" + # Don't use zstd installed by Homebrew because it provides + # zstdConfig.cmake but doesn't provide libzstd.pc. libzstd.pc + # is required for "pkg-config --static --cflags --libs arrow". + zstd_SOURCE: "BUNDLED" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | @@ -331,6 +335,10 @@ jobs: LIBARROW_BINARY: "FALSE" ARROW_R_DEV: "TRUE" CMAKE_FIND_DEBUG_MODE: "ON" + # Don't use zstd installed by Homebrew because it provides + # zstdConfig.cmake but doesn't provide libzstd.pc. libzstd.pc + # is required for "pkg-config --static --cflags --libs arrow". + zstd_SOURCE: "BUNDLED" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | diff --git a/r/inst/build_arrow_static.sh b/r/inst/build_arrow_static.sh index 22c3b2e03072a..7dc585213d068 100755 --- a/r/inst/build_arrow_static.sh +++ b/r/inst/build_arrow_static.sh @@ -82,6 +82,7 @@ ${CMAKE} -DARROW_BOOST_USE_SHARED=OFF \ -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON \ -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \ -Dxsimd_SOURCE=${xsimd_SOURCE:-} \ + -Dzstd_SOURCE=${zstd_SOURCE:-} \ ${EXTRA_CMAKE_FLAGS} \ -G ${CMAKE_GENERATOR:-"Unix Makefiles"} \ ${SOURCE_DIR} From 7adcb5bab6c91750df58289e87be964d8298fa7f Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 09:19:59 +0900 Subject: [PATCH 04/10] Debug --- dev/tasks/r/github.packages.yml | 6 +++--- r/configure | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index cb35c05db56ba..47c9ce5375ea6 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -314,7 +314,7 @@ jobs: run: | env | sort set -x - echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig:${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ + echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ >> "$GITHUB_ENV" - name: Install arrow from nightly repo env: @@ -323,7 +323,7 @@ jobs: # Don't use zstd installed by Homebrew because it provides # zstdConfig.cmake but doesn't provide libzstd.pc. libzstd.pc # is required for "pkg-config --static --cflags --libs arrow". - zstd_SOURCE: "BUNDLED" + # zstd_SOURCE: "BUNDLED" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | @@ -338,7 +338,7 @@ jobs: # Don't use zstd installed by Homebrew because it provides # zstdConfig.cmake but doesn't provide libzstd.pc. libzstd.pc # is required for "pkg-config --static --cflags --libs arrow". - zstd_SOURCE: "BUNDLED" + # zstd_SOURCE: "BUNDLED" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | diff --git a/r/configure b/r/configure index a1c36add732fd..49e7364501f56 100755 --- a/r/configure +++ b/r/configure @@ -165,6 +165,8 @@ else fi ${R_HOME}/bin/Rscript tools/nixlibs.R $VERSION + set -x + cat libarrow/arrow-${VERSION}/lib/pkgconfig/arrow.pc PKG_CFLAGS="-I`pwd`/libarrow/arrow-${VERSION}/include $PKG_CFLAGS" LIB_DIR="libarrow/arrow-${VERSION}/lib" From 2d782469bcb4dae79ab1407c78df5e18d0ec4ce3 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 11:18:14 +0900 Subject: [PATCH 05/10] Debug --- r/configure | 2 ++ 1 file changed, 2 insertions(+) diff --git a/r/configure b/r/configure index 49e7364501f56..778b95646ed53 100755 --- a/r/configure +++ b/r/configure @@ -186,6 +186,8 @@ else # Use pkg-config to do static linking of libarrow's dependencies if [ "$ARROW_DEPENDENCY_SOURCE" = "AUTO" ] || [ "$ARROW_DEPENDENCY_SOURCE" = "SYSTEM" ]; then + PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-l --static ${PKG_CONFIG_NAME} || : + PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-other --static ${PKG_CONFIG_NAME} || : PKG_LIBS="`PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-l --static --silence-errors ${PKG_CONFIG_NAME}`" PKG_LIBS="$PKG_LIBS `PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`" fi From 2a596cb8b7e13ba6290c2e14df2719d410b772d8 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 11:20:44 +0900 Subject: [PATCH 06/10] Don't ignore existing PKG_CONFIG_PATH --- r/configure | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/r/configure b/r/configure index 778b95646ed53..a97156c377033 100755 --- a/r/configure +++ b/r/configure @@ -186,10 +186,11 @@ else # Use pkg-config to do static linking of libarrow's dependencies if [ "$ARROW_DEPENDENCY_SOURCE" = "AUTO" ] || [ "$ARROW_DEPENDENCY_SOURCE" = "SYSTEM" ]; then - PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-l --static ${PKG_CONFIG_NAME} || : - PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-other --static ${PKG_CONFIG_NAME} || : - PKG_LIBS="`PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-l --static --silence-errors ${PKG_CONFIG_NAME}`" - PKG_LIBS="$PKG_LIBS `PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig pkg-config --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`" + export PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} + pkg-config --libs-only-l --static ${PKG_CONFIG_NAME} || : + pkg-config --libs-only-other --static ${PKG_CONFIG_NAME} || : + PKG_LIBS="`pkg-config --libs-only-l --static --silence-errors ${PKG_CONFIG_NAME}`" + PKG_LIBS="$PKG_LIBS `pkg-config --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`" fi # When using brew's openssl it is not bundled and it is not on the system From 5653d0b26831acb0ea4bffa40d74b0ccf21989b7 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 12:14:47 +0900 Subject: [PATCH 07/10] Use --libs --- r/configure | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/r/configure b/r/configure index a97156c377033..4cfb08acc97ac 100755 --- a/r/configure +++ b/r/configure @@ -189,8 +189,10 @@ else export PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} pkg-config --libs-only-l --static ${PKG_CONFIG_NAME} || : pkg-config --libs-only-other --static ${PKG_CONFIG_NAME} || : - PKG_LIBS="`pkg-config --libs-only-l --static --silence-errors ${PKG_CONFIG_NAME}`" - PKG_LIBS="$PKG_LIBS `pkg-config --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`" + pkg-config --libs --static ${PKG_CONFIG_NAME} || : + # PKG_LIBS="`pkg-config --libs-only-l --static --silence-errors ${PKG_CONFIG_NAME}`" + # PKG_LIBS="$PKG_LIBS `pkg-config --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`" + PKG_LIBS="`pkg-config --libs --static --silence-errors ${PKG_CONFIG_NAME}`" fi # When using brew's openssl it is not bundled and it is not on the system From 6c4c384d5550eed343234b66978775ed67172122 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 13:29:12 +0900 Subject: [PATCH 08/10] Clean --- dev/tasks/r/github.packages.yml | 12 +----------- r/configure | 6 ------ 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index 47c9ce5375ea6..1978c4ee93fc2 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -310,20 +310,14 @@ jobs: https://raw.githubusercontent.com/{{ arrow.github_repo }}/{{ arrow.head }}/ci/scripts/install_sccache.sh | \ bash -s unknown-linux-musl /usr/local/bin - run: sudo apt update && sudo apt install libcurl4-openssl-dev - - name: Prepare PKG_CONFIG_PATH + - name: Prepare PKG_CONFIG_PATH for Homebrew run: | - env | sort - set -x echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ >> "$GITHUB_ENV" - name: Install arrow from nightly repo env: # Test source build so be sure not to download a binary LIBARROW_BINARY: "FALSE" - # Don't use zstd installed by Homebrew because it provides - # zstdConfig.cmake but doesn't provide libzstd.pc. libzstd.pc - # is required for "pkg-config --static --cflags --libs arrow". - # zstd_SOURCE: "BUNDLED" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | @@ -335,10 +329,6 @@ jobs: LIBARROW_BINARY: "FALSE" ARROW_R_DEV: "TRUE" CMAKE_FIND_DEBUG_MODE: "ON" - # Don't use zstd installed by Homebrew because it provides - # zstdConfig.cmake but doesn't provide libzstd.pc. libzstd.pc - # is required for "pkg-config --static --cflags --libs arrow". - # zstd_SOURCE: "BUNDLED" {{ macros.github_set_sccache_envvars()|indent(8) }} shell: Rscript {0} run: | diff --git a/r/configure b/r/configure index 4cfb08acc97ac..c589dede23836 100755 --- a/r/configure +++ b/r/configure @@ -165,7 +165,6 @@ else fi ${R_HOME}/bin/Rscript tools/nixlibs.R $VERSION - set -x cat libarrow/arrow-${VERSION}/lib/pkgconfig/arrow.pc PKG_CFLAGS="-I`pwd`/libarrow/arrow-${VERSION}/include $PKG_CFLAGS" @@ -187,11 +186,6 @@ else # Use pkg-config to do static linking of libarrow's dependencies if [ "$ARROW_DEPENDENCY_SOURCE" = "AUTO" ] || [ "$ARROW_DEPENDENCY_SOURCE" = "SYSTEM" ]; then export PKG_CONFIG_PATH=${LIB_DIR}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} - pkg-config --libs-only-l --static ${PKG_CONFIG_NAME} || : - pkg-config --libs-only-other --static ${PKG_CONFIG_NAME} || : - pkg-config --libs --static ${PKG_CONFIG_NAME} || : - # PKG_LIBS="`pkg-config --libs-only-l --static --silence-errors ${PKG_CONFIG_NAME}`" - # PKG_LIBS="$PKG_LIBS `pkg-config --libs-only-other --static --silence-errors ${PKG_CONFIG_NAME}`" PKG_LIBS="`pkg-config --libs --static --silence-errors ${PKG_CONFIG_NAME}`" fi From c04e0da801a2dfdbe89f1e4672fecd8f620e44eb Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 23 Sep 2022 13:37:01 +0900 Subject: [PATCH 09/10] Remove debug print --- r/configure | 1 - 1 file changed, 1 deletion(-) diff --git a/r/configure b/r/configure index c589dede23836..95328fd080fc9 100755 --- a/r/configure +++ b/r/configure @@ -165,7 +165,6 @@ else fi ${R_HOME}/bin/Rscript tools/nixlibs.R $VERSION - cat libarrow/arrow-${VERSION}/lib/pkgconfig/arrow.pc PKG_CFLAGS="-I`pwd`/libarrow/arrow-${VERSION}/include $PKG_CFLAGS" LIB_DIR="libarrow/arrow-${VERSION}/lib" From 3cef9bf824078dcbc89bc1ab82e72bcf6d0fb6ad Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Sat, 24 Sep 2022 04:42:11 +0900 Subject: [PATCH 10/10] Set PKG_CONFIG_PATH --- dev/tasks/r/github.linux.arrow.version.back.compat.yml | 5 +++++ dev/tasks/r/github.linux.offline.build.yml | 5 +++++ dev/tasks/r/github.macos-linux.local.yml | 3 +++ dev/tasks/r/github.packages.yml | 1 + 4 files changed, 14 insertions(+) diff --git a/dev/tasks/r/github.linux.arrow.version.back.compat.yml b/dev/tasks/r/github.linux.arrow.version.back.compat.yml index 5b8e3a4eb2ef3..89c244c6e083a 100644 --- a/dev/tasks/r/github.linux.arrow.version.back.compat.yml +++ b/dev/tasks/r/github.linux.arrow.version.back.compat.yml @@ -32,6 +32,11 @@ jobs: {{ macros.github_checkout_arrow()|indent }} - uses: r-lib/actions/setup-r@v1 + - name: Prepare PKG_CONFIG_PATH for Homebrew + run: | + # zstd is installed by Homebrew on GitHub Actions. + echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ + >> "$GITHUB_ENV" - name: Install dependencies run: | install.packages(c("remotes", "glue", "sys")) diff --git a/dev/tasks/r/github.linux.offline.build.yml b/dev/tasks/r/github.linux.offline.build.yml index 29ff4250ec00e..bf43174ff7e78 100644 --- a/dev/tasks/r/github.linux.offline.build.yml +++ b/dev/tasks/r/github.linux.offline.build.yml @@ -68,6 +68,11 @@ jobs: run: | sudo apt-get update sudo apt install libcurl4-openssl-dev libssl-dev + - name: Prepare PKG_CONFIG_PATH for Homebrew + run: | + # zstd is installed by Homebrew on GitHub Actions. + echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ + >> "$GITHUB_ENV" - name: Install dependencies run: | install.packages(c("remotes", "glue", "sys")) diff --git a/dev/tasks/r/github.macos-linux.local.yml b/dev/tasks/r/github.macos-linux.local.yml index e2363e0b96710..27c67657ba4d4 100644 --- a/dev/tasks/r/github.macos-linux.local.yml +++ b/dev/tasks/r/github.macos-linux.local.yml @@ -41,6 +41,9 @@ jobs: cd arrow/r sudo apt-get update sudo apt install libcurl4-openssl-dev libssl-dev + # zstd is installed by Homebrew on GitHub Actions. + echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ + >> "$GITHUB_ENV" if: contains(matrix.os, 'ubuntu') - uses: r-lib/actions/setup-r@v1 - name: Install dependencies diff --git a/dev/tasks/r/github.packages.yml b/dev/tasks/r/github.packages.yml index 1978c4ee93fc2..b5b9548d59388 100644 --- a/dev/tasks/r/github.packages.yml +++ b/dev/tasks/r/github.packages.yml @@ -312,6 +312,7 @@ jobs: - run: sudo apt update && sudo apt install libcurl4-openssl-dev - name: Prepare PKG_CONFIG_PATH for Homebrew run: | + # zstd is installed by Homebrew on GitHub Actions. echo "PKG_CONFIG_PATH=$(brew --prefix)/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}" \ >> "$GITHUB_ENV" - name: Install arrow from nightly repo