This is an automated email from the ASF dual-hosted git repository.

mgreber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git


The following commit(s) were added to refs/heads/master by this push:
     new 68c30f181 [thirdparty] don't use system curl for cmake build
68c30f181 is described below

commit 68c30f181d2241489fb08580071e03c3a956cbcc
Author: Alexey Serbin <ale...@apache.org>
AuthorDate: Wed Jun 18 12:49:00 2025 -0700

    [thirdparty] don't use system curl for cmake build
    
    An update was introduced with curl v8.13.0 [1] that breaks cmake 3.25.3
    compilation if using curl's v8.13.0 and newer header files.
    
    This changelist disables using system curl header files for a while.
    Hopefully, next cmake version in Kudu's 3rd-party will have the issue
    addressed, so it will be possible to use system curl again to speed up
    3rd-party compilation.
    
    It would be possible to make a decision on using the system curl based
    on the version of libcurl reported by pkg-config, but I'm not exactly
    sure it's worth it.
    
    [1] https://github.com/curl/curl/commit/2ec00372a
    
    Change-Id: I2ec9f079667a374f04664abf4a9e840c86b3b7bf
    Reviewed-on: http://gerrit.cloudera.org:8080/23048
    Tested-by: Marton Greber <greber...@gmail.com>
    Reviewed-by: Gabriella Lotz <lotzgabrie...@gmail.com>
    Reviewed-by: Marton Greber <greber...@gmail.com>
---
 thirdparty/build-definitions.sh | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/thirdparty/build-definitions.sh b/thirdparty/build-definitions.sh
index 08e0ae3ba..0601d0bea 100644
--- a/thirdparty/build-definitions.sh
+++ b/thirdparty/build-definitions.sh
@@ -89,11 +89,21 @@ fixup_libtool() {
 }
 
 build_cmake() {
-  # Use system curl if it is available: this shortens build times a bit.
-  local use_system_curl=""
-  if pkg-config --exists libcurl; then
-    use_system_curl="--system-curl"
-  fi
+  # It would be nice to use system curl if it is available to shorten build
+  # times, but with curl v8.13.0 and newer some of the CURL_NETRC_OPTION
+  # enumerators were made constants of type long [1], and compiling
+  # cmake v3.25.3 fails when trying to assign those constants to strings.
+  #
+  # [1] https://github.com/curl/curl/commit/2ec00372a
+  local use_system_curl="--no-system-curl"
+
+  # TODO(aserbin): switch to using system curl when migrating to newer
+  #                cmake version that's able to build with curl v8.13.0
+  #                and newer
+  #if pkg-config --exists libcurl; then
+  #  use_system_curl="--system-curl"
+  #fi
+
   CMAKE_BDIR=$TP_BUILD_DIR/$CMAKE_NAME$MODE_SUFFIX
   mkdir -p $CMAKE_BDIR
   pushd $CMAKE_BDIR

Reply via email to