You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by al...@apache.org on 2025/06/20 04:36:45 UTC
(kudu) 03/03: [thirdparty] don't use system curl for cmake build
This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch branch-1.18.x
in repository https://gitbox.apache.org/repos/asf/kudu.git
commit cd1c16a8746e9c25f4b7125d5661956f44042016
Author: Alexey Serbin <al...@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 <gr...@gmail.com>
Reviewed-by: Gabriella Lotz <lo...@gmail.com>
Reviewed-by: Marton Greber <gr...@gmail.com>
(cherry picked from commit 68c30f181d2241489fb08580071e03c3a956cbcc)
Reviewed-on: http://gerrit.cloudera.org:8080/23054
Reviewed-by: Abhishek Chennaka <ac...@cloudera.com>
Tested-by: Alexey Serbin <al...@apache.org>
---
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 60e309f53..b6f39e308 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