joemarshall commented on code in PR #37821:
URL: https://github.com/apache/arrow/pull/37821#discussion_r1365352729
##########
ci/scripts/cpp_build.sh:
##########
@@ -91,111 +91,139 @@ esac
mkdir -p ${build_dir}
pushd ${build_dir}
-cmake \
- -Dabsl_SOURCE=${absl_SOURCE:-} \
- -DARROW_ACERO=${ARROW_ACERO:-OFF} \
- -DARROW_AZURE=${ARROW_AZURE:-OFF} \
- -DARROW_BOOST_USE_SHARED=${ARROW_BOOST_USE_SHARED:-ON} \
- -DARROW_BUILD_BENCHMARKS_REFERENCE=${ARROW_BUILD_BENCHMARKS:-OFF} \
- -DARROW_BUILD_BENCHMARKS=${ARROW_BUILD_BENCHMARKS:-OFF} \
- -DARROW_BUILD_EXAMPLES=${ARROW_BUILD_EXAMPLES:-OFF} \
- -DARROW_BUILD_INTEGRATION=${ARROW_BUILD_INTEGRATION:-OFF} \
- -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED:-ON} \
- -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC:-ON} \
- -DARROW_BUILD_TESTS=${ARROW_BUILD_TESTS:-OFF} \
- -DARROW_BUILD_UTILITIES=${ARROW_BUILD_UTILITIES:-ON} \
- -DARROW_COMPUTE=${ARROW_COMPUTE:-ON} \
- -DARROW_CSV=${ARROW_CSV:-ON} \
- -DARROW_CUDA=${ARROW_CUDA:-OFF} \
- -DARROW_CXXFLAGS=${ARROW_CXXFLAGS:-} \
- -DARROW_CXX_FLAGS_DEBUG="${ARROW_CXX_FLAGS_DEBUG:-}" \
- -DARROW_CXX_FLAGS_RELEASE="${ARROW_CXX_FLAGS_RELEASE:-}" \
- -DARROW_CXX_FLAGS_RELWITHDEBINFO="${ARROW_CXX_FLAGS_RELWITHDEBINFO:-}" \
- -DARROW_C_FLAGS_DEBUG="${ARROW_C_FLAGS_DEBUG:-}" \
- -DARROW_C_FLAGS_RELEASE="${ARROW_C_FLAGS_RELEASE:-}" \
- -DARROW_C_FLAGS_RELWITHDEBINFO="${ARROW_C_FLAGS_RELWITHDEBINFO:-}" \
- -DARROW_DATASET=${ARROW_DATASET:-OFF} \
- -DARROW_DEPENDENCY_SOURCE=${ARROW_DEPENDENCY_SOURCE:-AUTO} \
- -DARROW_ENABLE_THREADING=${ARROW_ENABLE_THREADING:-ON} \
- -DARROW_ENABLE_TIMING_TESTS=${ARROW_ENABLE_TIMING_TESTS:-ON} \
- -DARROW_EXTRA_ERROR_CONTEXT=${ARROW_EXTRA_ERROR_CONTEXT:-OFF} \
- -DARROW_FILESYSTEM=${ARROW_FILESYSTEM:-ON} \
- -DARROW_FLIGHT=${ARROW_FLIGHT:-OFF} \
- -DARROW_FLIGHT_SQL=${ARROW_FLIGHT_SQL:-OFF} \
- -DARROW_FUZZING=${ARROW_FUZZING:-OFF} \
- -DARROW_GANDIVA_PC_CXX_FLAGS=${ARROW_GANDIVA_PC_CXX_FLAGS:-} \
- -DARROW_GANDIVA=${ARROW_GANDIVA:-OFF} \
- -DARROW_GCS=${ARROW_GCS:-OFF} \
- -DARROW_HDFS=${ARROW_HDFS:-ON} \
- -DARROW_INSTALL_NAME_RPATH=${ARROW_INSTALL_NAME_RPATH:-ON} \
- -DARROW_JEMALLOC=${ARROW_JEMALLOC:-ON} \
- -DARROW_JSON=${ARROW_JSON:-ON} \
- -DARROW_LARGE_MEMORY_TESTS=${ARROW_LARGE_MEMORY_TESTS:-OFF} \
- -DARROW_MIMALLOC=${ARROW_MIMALLOC:-OFF} \
- -DARROW_NO_DEPRECATED_API=${ARROW_NO_DEPRECATED_API:-OFF} \
- -DARROW_ORC=${ARROW_ORC:-OFF} \
- -DARROW_PARQUET=${ARROW_PARQUET:-OFF} \
- -DARROW_RUNTIME_SIMD_LEVEL=${ARROW_RUNTIME_SIMD_LEVEL:-MAX} \
- -DARROW_S3=${ARROW_S3:-OFF} \
- -DARROW_SIMD_LEVEL=${ARROW_SIMD_LEVEL:-DEFAULT} \
- -DARROW_SKYHOOK=${ARROW_SKYHOOK:-OFF} \
- -DARROW_SUBSTRAIT=${ARROW_SUBSTRAIT:-OFF} \
- -DARROW_TEST_LINKAGE=${ARROW_TEST_LINKAGE:-shared} \
- -DARROW_TEST_MEMCHECK=${ARROW_TEST_MEMCHECK:-OFF} \
- -DARROW_USE_ASAN=${ARROW_USE_ASAN:-OFF} \
- -DARROW_USE_CCACHE=${ARROW_USE_CCACHE:-ON} \
- -DARROW_USE_GLOG=${ARROW_USE_GLOG:-OFF} \
- -DARROW_USE_LD_GOLD=${ARROW_USE_LD_GOLD:-OFF} \
- -DARROW_USE_PRECOMPILED_HEADERS=${ARROW_USE_PRECOMPILED_HEADERS:-OFF} \
- -DARROW_USE_STATIC_CRT=${ARROW_USE_STATIC_CRT:-OFF} \
- -DARROW_USE_TSAN=${ARROW_USE_TSAN:-OFF} \
- -DARROW_USE_UBSAN=${ARROW_USE_UBSAN:-OFF} \
- -DARROW_VERBOSE_THIRDPARTY_BUILD=${ARROW_VERBOSE_THIRDPARTY_BUILD:-OFF} \
- -DARROW_WITH_BROTLI=${ARROW_WITH_BROTLI:-OFF} \
- -DARROW_WITH_BZ2=${ARROW_WITH_BZ2:-OFF} \
- -DARROW_WITH_LZ4=${ARROW_WITH_LZ4:-OFF} \
- -DARROW_WITH_OPENTELEMETRY=${ARROW_WITH_OPENTELEMETRY:-OFF} \
- -DARROW_WITH_MUSL=${ARROW_WITH_MUSL:-OFF} \
- -DARROW_WITH_SNAPPY=${ARROW_WITH_SNAPPY:-OFF} \
- -DARROW_WITH_UCX=${ARROW_WITH_UCX:-OFF} \
- -DARROW_WITH_UTF8PROC=${ARROW_WITH_UTF8PROC:-ON} \
- -DARROW_WITH_ZLIB=${ARROW_WITH_ZLIB:-OFF} \
- -DARROW_WITH_ZSTD=${ARROW_WITH_ZSTD:-OFF} \
- -DAWSSDK_SOURCE=${AWSSDK_SOURCE:-} \
- -DAzure_SOURCE=${Azure_SOURCE:-} \
- -Dbenchmark_SOURCE=${benchmark_SOURCE:-} \
- -DBOOST_SOURCE=${BOOST_SOURCE:-} \
- -DBrotli_SOURCE=${Brotli_SOURCE:-} \
- -DBUILD_WARNING_LEVEL=${BUILD_WARNING_LEVEL:-CHECKIN} \
- -Dc-ares_SOURCE=${cares_SOURCE:-} \
- -DCMAKE_BUILD_TYPE=${ARROW_BUILD_TYPE:-debug} \
- -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
- -DCMAKE_C_FLAGS="${CFLAGS:-}" \
- -DCMAKE_CXX_FLAGS="${CXXFLAGS:-}" \
- -DCMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD:-17}" \
- -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
- -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \
- -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD:-OFF} \
- -Dgflags_SOURCE=${gflags_SOURCE:-} \
- -Dgoogle_cloud_cpp_storage_SOURCE=${google_cloud_cpp_storage_SOURCE:-} \
- -DgRPC_SOURCE=${gRPC_SOURCE:-} \
- -DGTest_SOURCE=${GTest_SOURCE:-} \
- -Dlz4_SOURCE=${lz4_SOURCE:-} \
- -DORC_SOURCE=${ORC_SOURCE:-} \
- -DPARQUET_BUILD_EXAMPLES=${PARQUET_BUILD_EXAMPLES:-OFF} \
- -DPARQUET_BUILD_EXECUTABLES=${PARQUET_BUILD_EXECUTABLES:-OFF} \
- -DPARQUET_REQUIRE_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION:-ON} \
- -DProtobuf_SOURCE=${Protobuf_SOURCE:-} \
- -DRapidJSON_SOURCE=${RapidJSON_SOURCE:-} \
- -Dre2_SOURCE=${re2_SOURCE:-} \
- -DSnappy_SOURCE=${Snappy_SOURCE:-} \
- -DThrift_SOURCE=${Thrift_SOURCE:-} \
- -Dutf8proc_SOURCE=${utf8proc_SOURCE:-} \
- -Dzstd_SOURCE=${zstd_SOURCE:-} \
- -Dxsimd_SOURCE=${xsimd_SOURCE:-} \
- -G "${CMAKE_GENERATOR:-Ninja}" \
- ${ARROW_CMAKE_ARGS} \
- ${source_dir}
+if [ "${ARROW_EMSCRIPTEN:-OFF}" = "ON" ]; then
+ if [ "${ARROW_BUILD_TYPE:-debug}" = "debug" ]; then
+ echo "Forcing non-parallel build for emscripten debug"
+ export CMAKE_BUILD_PARALLEL_LEVEL=1
+ # emscripten debug linking takes *tons* of memory
+ # https://github.com/WebAssembly/binaryen/issues/4261
+ # so stop parallel builds for debug build
+ # or else crossbow CI runs out of memory
+ fi
+
Review Comment:
I think not, good spot. I'll test it.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]