external/curl/UnpackedTarball_curl.mk    |    1 
 external/curl/configure-eval-fix.patch.0 |  146 +++++++++++++++++++++++++++++++
 2 files changed, 147 insertions(+)

New commits:
commit 9b2c6bbcc330cd19d41ed25f95589c700d435b2c
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Mon Jan 24 08:50:36 2022 +0100
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Mon Jan 24 10:15:28 2022 +0100

    external/curl: Fix manipulation of LD_LIBRARY_PATH
    
    This fixes the same issue as
    
<https://github.com/curl/curl/commit/e39421cef31f13a19b6bef5c644978e0c54e4e16>
    "curl-functions.m4: fix LIBRARY_PATH adjustment to avoid eval", just in a 
less
    intrusive way so that we can get away with just fixing the resulting 
configure
    rather than having to run any Autotools reconfiguration commands.
    
    40a84af1bdd7b3c414a8a78ca32b0951c03f9976 "upgrade to curl-7.81.0" caused
    <https://ci.libreoffice.org/job/lo_ubsan/2272/> to fail with the cryptic
    
    [...]
    > checking for gethostbyname in -lnetwork... no
    > checking for gethostbyname in -lnet... no
    > configure: error: couldn't find libraries for gethostbyname()
    > 
/home/tdf/lode/jenkins/workspace/lo_ubsan/external/curl/ExternalProject_curl.mk:41:
 recipe for target 
'/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/ExternalProject/curl/build' 
failed
    > make[1]: *** 
[/home/tdf/lode/jenkins/workspace/lo_ubsan/workdir/ExternalProject/curl/build] 
Error 1
    
    because somewhere in the middle of curl's configure LD_LIBRARY_PATH got 
garbled
    because of this issue, so that invoking
    /home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang started to fail 
with
    
    > /home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang: 
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by 
/home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang)
    > /home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang: 
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by 
/home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang)
    > /home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang: 
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by 
/home/tdf/lode/opt_private/clang-llvmorg-9.0.1/bin/clang)
    
    (because that clang is built against a local GCC and libstdc++, so needs
    LD_LIBRARY_PATH to be set up properly to find the latter), which caused the
    gethostbyname check to fail (as seen when looking into that build's
    workdir/UnpackedTarball/curl/config.log).
    
    Change-Id: I3d45018cdfdb22b98c0dec0757e754a172a811de
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128850
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/external/curl/UnpackedTarball_curl.mk 
b/external/curl/UnpackedTarball_curl.mk
index b89b000228c9..7a8f5a265341 100644
--- a/external/curl/UnpackedTarball_curl.mk
+++ b/external/curl/UnpackedTarball_curl.mk
@@ -26,6 +26,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,curl,\
        external/curl/curl-7.26.0_win-proxy.patch \
        external/curl/zlib.patch.0 \
        external/curl/configurable-z-option.patch.0 \
+       external/curl/configure-eval-fix.patch.0 \
 ))
 
 ifeq ($(SYSTEM_NSS),)
diff --git a/external/curl/configure-eval-fix.patch.0 
b/external/curl/configure-eval-fix.patch.0
new file mode 100644
index 000000000000..616f3fb607ad
--- /dev/null
+++ b/external/curl/configure-eval-fix.patch.0
@@ -0,0 +1,146 @@
+--- configure
++++ configure
+@@ -17942,7 +17942,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -18230,7 +18230,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -19676,7 +19676,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -22525,7 +22525,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -24251,7 +24251,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -34015,7 +34015,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -34479,7 +34479,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -37507,7 +37507,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -39014,7 +39014,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -39259,7 +39259,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -39527,7 +39527,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -39787,7 +39787,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -40833,7 +40833,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -41238,7 +41238,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -43189,7 +43189,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"
+@@ -43305,7 +43305,7 @@
+      *)       library_path_var=LD_LIBRARY_PATH ;;
+    esac
+ 
+-   eval "old=$$library_path_var"
++   eval "old=\$$library_path_var"
+    eval "$library_path_var=\$CURL_LIBRARY_PATH:\$old"
+ 
+    eval "export $library_path_var"

Reply via email to