Skip to content

.gitlab-ci.yml: Compile curl ourselves and rework TLS providers

Thomas Braun requested to merge switch-curl-source-and-ssl-providers into main

We were using the ready made version of libcurl from the curl project itself. While this works by itself, it does not work for our use case as we compile with MSVC.

And are currently getting linker errors like 1:

libcrypto.a(x509_info.c.obj) : error LNK2001: unresolved external symbol ___mingw_vasprintf [C:\gitlab-runner\builds\4xDp-9MBR\4\tango-controls\cppTango\build\tests\Catch2Tests.vcxproj]

There was a already a hint, see b43a71ed (Avoid pretending that we have the <unistd.h> include, 2024-01-19), that this might now work, but the author of this commit tried to hack around.

Let's not hack around this time, and compile curl ourselves. We compile it with SCHANNEL support, the windows builtin SSL/TLS API. This relieves us of having to update on security issues for the SSl/TLS library.

Unfortunately also grpc needs SSL/TLS support and there we switch to the builtin boringSSL library.

Merge request reports