From a3498bacc9a8a82b6965831302a430c90847f47f Mon Sep 17 00:00:00 2001 From: Huo Linhe Date: Wed, 17 Apr 2024 10:03:52 +0800 Subject: [PATCH] fix: undefined reference to `psl_*` while linking s3 libcurl to taosd Environment: - os: Ubuntu 22.04 LTS - kernel: 5.19.0-051900rc8-generic #202207242130 SMP PREEMPT_DYNAMIC Sun Jul 24 21:34:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux Steps: ```bash ./build.sh ``` Error: ```txt [ 88%] Linking CXX executable ../../../../build/bin/taosd /usr/bin/ld: /home/huolinhe/.cos-local.2/lib/libcurl.a(libcurl_la-psl.o): in function `Curl_psl_destroy': psl.c:(.text+0x13): undefined reference to `psl_free' /usr/bin/ld: /home/huolinhe/.cos-local.2/lib/libcurl.a(libcurl_la-psl.o): in function `Curl_psl_use': psl.c:(.text+0xad): undefined reference to `psl_latest' /usr/bin/ld: psl.c:(.text+0xe4): undefined reference to `psl_free' /usr/bin/ld: psl.c:(.text+0xfc): undefined reference to `psl_builtin' /usr/bin/ld: /home/huolinhe/.cos-local.2/lib/libcurl.a(libcurl_la-cookie.o): in function `Curl_cookie_add': cookie.c:(.text+0x11a3): undefined reference to `psl_is_cookie_domain_acceptable' collect2: error: ld returned 1 exit status ``` Disable libpsl in curl will fix the errors. --- cmake/curl_CMakeLists.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/curl_CMakeLists.txt.in b/cmake/curl_CMakeLists.txt.in index 197d978fb7..8e06569f4d 100644 --- a/cmake/curl_CMakeLists.txt.in +++ b/cmake/curl_CMakeLists.txt.in @@ -12,7 +12,7 @@ ExternalProject_Add(curl2 BUILD_IN_SOURCE TRUE BUILD_ALWAYS 1 UPDATE_COMMAND "" - CONFIGURE_COMMAND ./configure --prefix=$ENV{HOME}/.cos-local.2 --with-ssl=$ENV{HOME}/.cos-local.2 --enable-shared=no --disable-ldap --disable-ldaps --without-brotli --without-zstd --without-libidn2 --without-nghttp2 #--enable-debug + CONFIGURE_COMMAND ./configure --prefix=$ENV{HOME}/.cos-local.2 --with-ssl=$ENV{HOME}/.cos-local.2 --enable-shared=no --disable-ldap --disable-ldaps --without-brotli --without-zstd --without-libidn2 --without-nghttp2 --without-libpsl #--enable-debug BUILD_COMMAND make -j INSTALL_COMMAND make install TEST_COMMAND ""