From 6267cb706916734faf2916d0810725160fa4d2bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Szczerbi=C5=84ski?= Date: Fri, 25 Oct 2024 12:08:50 +0200 Subject: [PATCH] Fix failing mac builds --- scripts/build_arrow_source.bat | 5 ++--- scripts/build_arrow_source.sh | 3 +-- scripts/build_boost_source.bat | 2 +- scripts/build_boost_source.sh | 7 ++++--- tests/CMakeLists.txt | 6 +++--- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/scripts/build_arrow_source.bat b/scripts/build_arrow_source.bat index e84ec38655..91bd259681 100644 --- a/scripts/build_arrow_source.bat +++ b/scripts/build_arrow_source.bat @@ -67,7 +67,7 @@ cmake ..\ ^ -DCMAKE_INSTALL_PREFIX=%ARROW_INSTALL_DIR% ^ -DCMAKE_MSVC_RUNTIME_LIBRARY=%runtimelink% ^ -DCMAKE_C_FLAGS="/guard:cf /Z7 /ZH:SHA_256 /Qspectre /sdl" ^ --DCMAKE_CXX_FLAGS="/guard:cf /Z7 /ZH:SHA_256 /Qspectre /sdl" ^ +-DCMAKE_CXX_FLAGS="/std:c++17 /guard:cf /Z7 /ZH:SHA_256 /Qspectre /sdl" ^ -DARROW_USE_STATIC_CRT=ON ^ -DARROW_BOOST_USE_SHARED=OFF ^ -DARROW_BUILD_SHARED=OFF ^ @@ -89,8 +89,7 @@ cmake ..\ ^ -DARROW_BUILD_TESTS=OFF ^ -DBoost_INCLUDE_DIR=%DEPENDENCY_DIR%\boost\include ^ -DBOOST_SYSTEM_LIBRARY=%DEPENDENCY_DIR%\boost\lib\libboost_system.lib ^ --DBOOST_FILESYSTEM_LIBRARY=%DEPENDENCY_DIR%\boost\lib\libboost_filesystem.lib ^ --DBOOST_REGEX_LIBRARY=%DEPENDENCY_DIR%\boost\lib\libboost_regex.lib +-DBOOST_FILESYSTEM_LIBRARY=%DEPENDENCY_DIR%\boost\lib\libboost_filesystem.lib if %ERRORLEVEL% NEQ 0 goto :error diff --git a/scripts/build_arrow_source.sh b/scripts/build_arrow_source.sh index 0036db38cc..eb6064e52c 100755 --- a/scripts/build_arrow_source.sh +++ b/scripts/build_arrow_source.sh @@ -22,7 +22,7 @@ ARROW_BUILD_DIR=$DEPENDENCY_DIR/arrow ARROW_DEPS_BUILD_DIR=$DEPENDENCY_DIR/arrow_deps ARROW_CMAKE_BUILD_DIR=$ARROW_SOURCE_DIR/cpp/cmake-build -ARROW_CXXFLAGS="-O2 -fPIC -pthread" +ARROW_CXXFLAGS="-std=c++17 -O2 -fPIC -pthread" arrow_configure_opts=() if [[ "$target" != "Release" ]]; then arrow_configure_opts+=("-DCMAKE_BUILD_TYPE=Debug") @@ -60,7 +60,6 @@ arrow_configure_opts+=( "-DBoost_INCLUDE_DIR=$DEPENDENCY_DIR/boost/include" "-DBOOST_SYSTEM_LIBRARY=$DEPENDENCY_DIR/boost/lib/libboost_system.a" "-DBOOST_FILESYSTEM_LIBRARY=$DEPENDENCY_DIR/boost/lib/libboost_filesystem.a" - "-DBOOST_REGEX_LIBRARY=$DEPENDENCY_DIR/boost/lib/libboost_regex.a" ) rm -rf $ARROW_BUILD_DIR diff --git a/scripts/build_boost_source.bat b/scripts/build_boost_source.bat index e9f2884167..973a1442aa 100644 --- a/scripts/build_boost_source.bat +++ b/scripts/build_boost_source.bat @@ -61,7 +61,7 @@ if /I "%dynamic_runtime%"=="on" ( call "%BOOST_SOURCE_DIR%\bootstrap.bat" --with-libraries=filesystem,regex,system if %ERRORLEVEL% NEQ 0 goto :error -b2 stage --stagedir=%BOOST_INSTALL_DIR% --includedir=%BOOST_INSTALL_DIR%\include --layout=system --with-system --with-filesystem --with-regex link=static runtime-link=%runtimelink% threading=multi address-model=%bitness% variant=%variant% runtime-debugging=%debugging% cflags="/Z7 /ZH:SHA_256 /guard:cf /Qspectre /sdl" cxxflags="/Z7 /ZH:SHA_256 /guard:cf /Qspectre /sdl" install +b2 stage --stagedir=%BOOST_INSTALL_DIR% --includedir=%BOOST_INSTALL_DIR%\include --layout=system --with-system --with-filesystem --with-regex link=static runtime-link=%runtimelink% threading=multi address-model=%bitness% variant=%variant% runtime-debugging=%debugging% cflags="/Z7 /ZH:SHA_256 /guard:cf /Qspectre /sdl" cxxflags="/std:c++17 /Z7 /ZH:SHA_256 /guard:cf /Qspectre /sdl" install if %ERRORLEVEL% NEQ 0 goto :error ::remove cmake files including local build path information rd /S /Q %BOOST_INSTALL_DIR%\lib\cmake diff --git a/scripts/build_boost_source.sh b/scripts/build_boost_source.sh index 01a9c7bca1..3c6759b7b6 100755 --- a/scripts/build_boost_source.sh +++ b/scripts/build_boost_source.sh @@ -39,10 +39,11 @@ sed -i -- 's/build.sh)/build.sh gcc)/g' bootstrap.sh # Check to see if we are doing a universal build or not. # If we are not doing a universal build, build with 64-bit +CXXFLAGS="-std=c++17" if [[ "$PLATFORM" == "darwin" ]] && [[ "$ARCH" == "universal" ]]; then CXX=$CXX ./bootstrap.sh --prefix=. --with-toolset=clang --with-libraries=filesystem,regex,system cxxflags="-arch x86_64 -arch arm64" cflags="-arch x86_64 -arch arm64" linkflags="-arch x86_64 -arch arm64" - ./b2 stage --stagedir=$BOOST_BUILD_DIR/x64 --includedir=$BOOST_BUILD_DIR/include toolset=clang target-os=darwin architecture=x86 variant=$VARIANT link=static address-model=64 cflags="-Wall -D_REENTRANT -DCLUNIX -fPIC -O3 -arch x86_64" cxxflags="-arch x86_64 -DBOOST_REGEX_MAX_CACHE_BLOCKS=0" linkflags="-arch x86_64" -a install - ./b2 stage --stagedir=$BOOST_BUILD_DIR/arm64 toolset=clang variant=$VARIANT link=static address-model=64 cflags="-Wall -D_REENTRANT -DCLUNIX -fPIC -O3 -arch arm64" cxxflags="-arch arm64 -DBOOST_REGEX_MAX_CACHE_BLOCKS=0" linkflags="-arch arm64" -a install + ./b2 stage --stagedir=$BOOST_BUILD_DIR/x64 --includedir=$BOOST_BUILD_DIR/include toolset=clang target-os=darwin architecture=x86 variant=$VARIANT link=static address-model=64 cflags="-Wall -D_REENTRANT -DCLUNIX -fPIC -O3 -arch x86_64" cxxflags="-arch x86_64 ${CXXFLAGS}" linkflags="-arch x86_64" -a install + ./b2 stage --stagedir=$BOOST_BUILD_DIR/arm64 toolset=clang variant=$VARIANT link=static address-model=64 cflags="-Wall -D_REENTRANT -DCLUNIX -fPIC -O3 -arch arm64" cxxflags="-arch arm64 ${CXXFLAGS}" linkflags="-arch arm64" -a install mkdir $BOOST_BUILD_DIR/lib for static_lib in $BOOST_BUILD_DIR/x64/lib/*.a; do lipo -create -arch x86_64 $static_lib -arch arm64 $BOOST_BUILD_DIR/arm64/lib/$(basename $static_lib) -output $BOOST_BUILD_DIR/lib/$(basename $static_lib); @@ -50,7 +51,7 @@ if [[ "$PLATFORM" == "darwin" ]] && [[ "$ARCH" == "universal" ]]; then rm -rf $BOOST_BUILD_DIR/x64 $BOOST_BUILD_DIR/arm64 else CXX=$CXX ./bootstrap.sh --prefix=. --with-toolset=gcc --with-libraries=filesystem,regex,system - ./b2 stage --stagedir=$BOOST_BUILD_DIR --includedir=$BOOST_BUILD_DIR/include toolset=gcc variant=$VARIANT link=static address-model=64 cflags="-Wall -D_REENTRANT -DCLUNIX -fPIC -O3" -a install + ./b2 stage --stagedir=$BOOST_BUILD_DIR --includedir=$BOOST_BUILD_DIR/include toolset=gcc variant=$VARIANT link=static address-model=64 cxxflags="${CXXFLAGS}" cflags="-Wall -D_REENTRANT -DCLUNIX -fPIC -O3" -a install fi cd $DIR diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 615a859af1..da0eeabd3d 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -143,7 +143,7 @@ if (LINUX) # Group all arrow dependencies. set(ARROW_ALL_LIBS ${ARROW_ARROW_LIB} - ${BOOST_FILESYSTEM_LIB} ${BOOST_REGEX_LIB} ${BOOST_SYSTEM_LIB} + ${BOOST_FILESYSTEM_LIB} ${BOOST_SYSTEM_LIB} ${ARROW_BROTLIDEC_LIB} ${ARROW_BROTLIENC_LIB} ${ARROW_BROTLICOMMON_LIB} ${ARROW_DOUBLECONVERSION_LIB} ${ARROW_FLATBUFFERS_LIB} @@ -159,7 +159,7 @@ if (APPLE) # Group all Arrow dependencies. set(ARROW_ALL_LIBS ${ARROW_ARROW_LIB} - ${BOOST_FILESYSTEM_LIB} ${BOOST_REGEX_LIB} ${BOOST_SYSTEM_LIB} + ${BOOST_FILESYSTEM_LIB} ${BOOST_SYSTEM_LIB} ${ARROW_BROTLICOMMON_LIB} ${ARROW_BROTLIDEC_LIB} ${ARROW_BROTLIENC_LIB} ${ARROW_FLATBUFFERS_LIB} ${ARROW_GFLAGS_LIB} @@ -176,7 +176,7 @@ if (WIN32) # Groups all Arrow dependencies. set(ARROW_ALL_LIBS ${ARROW_ARROW_LIB} - ${BOOST_FILESYSTEM_LIB} ${BOOST_REGEX_LIB} ${BOOST_SYSTEM_LIB} + ${BOOST_FILESYSTEM_LIB} ${BOOST_SYSTEM_LIB} ${ARROW_BROTLICOMMON_LIB} ${ARROW_BROTLIDEC_LIB} ${ARROW_BROTLIENC_LIB} ${ARROW_BZ2_LIB} ${ARROW_DOUBLECONVERSION_LIB}