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]

Reply via email to