From: Viktor Szakats Date: Wed, 15 May 2024 06:19:54 +0000 (+0200) Subject: appveyor: guard against crash-build with VS2008 X-Git-Tag: curl-8_8_0~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec498695fc59ba6cf5dd64d4a84e93802736bc5e;p=thirdparty%2Fcurl.git appveyor: guard against crash-build with VS2008 The combination of `-DDEBUGBUILD`, a shared `curl.exe`, and the VS2008 compiler creates a `curl.exe` segfaulting on startup: ``` + _bld/src/curl.exe --version ./appveyor.sh: line 122: 793 Segmentation fault "${curl}" --version Command exited with code 139 ``` Ref: https://ci.appveyor.com/project/curlorg/curl/builds/49817266/job/651iy6qn1e238pqj#L191 Add job that triggers the issue and add the necessary logic to skip running the affected `curl.exe`. Ref: #13592 Closes #13654 --- diff --git a/appveyor.sh b/appveyor.sh index 5d0f068e07..fa0171d8b9 100644 --- a/appveyor.sh +++ b/appveyor.sh @@ -42,8 +42,11 @@ if [ "${BUILD_SYSTEM}" = 'CMake' ]; then [ "${PRJ_CFG}" = 'Debug' ] && options+=' -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=' [ "${PRJ_CFG}" = 'Release' ] && options+=' -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=' [[ "${PRJ_GEN}" = *'Visual Studio'* ]] && options+=' -DCMAKE_VS_GLOBALS=TrackFileAccess=false' - # Fails to run without this run due to missing MSVCR90.dll - [ "${PRJ_GEN}" = 'Visual Studio 9 2008' ] && options+=' -DCURL_STATIC_CRT=ON' + if [ "${PRJ_GEN}" = 'Visual Studio 9 2008' ]; then + [ "${PRJ_CFG}" = 'Debug' ] && [ "${DEBUG}" = 'ON' ] && [ "${SHARED}" = 'ON' ] && SKIP_RUN='Crash on startup in -DDEBUGBUILD shared builds' + # Fails to run without this due to missing MSVCR90.dll / MSVCR90D.dll + options+=' -DCURL_STATIC_CRT=ON' + fi # shellcheck disable=SC2086 cmake -B _bld "-G${PRJ_GEN}" ${TARGET:-} ${options} \ "-DCURL_USE_OPENSSL=${OPENSSL}" \ diff --git a/appveyor.yml b/appveyor.yml index e68e3d5f39..0db7b3c7e2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -48,6 +48,17 @@ environment: SHARED: 'ON' TESTING: 'OFF' DISABLED_TESTS: '' + - job_name: 'CMake, VS2008, Debug, x86, Schannel, Build-only' + APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015' + BUILD_SYSTEM: CMake + PRJ_GEN: 'Visual Studio 9 2008' + PRJ_CFG: Debug + SCHANNEL: 'ON' + ENABLE_UNICODE: 'OFF' + HTTP_ONLY: 'OFF' + SHARED: 'ON' + TESTING: 'OFF' + DISABLED_TESTS: '' - job_name: 'CMake, VS2022, Release, x64, OpenSSL 3.2, WebSockets, Build-only' APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022' BUILD_SYSTEM: CMake