[tarantool-patches] Re: [PATCH 0/2] Build libcurl statically

  • From: Kirill Yukhin <kyukhin@xxxxxxxxxxxxx>
  • To: tarantool-patches@xxxxxxxxxxxxx
  • Date: Thu, 22 Aug 2019 11:42:04 +0300

Hello,

On 16 Aug 05:32, Alexander Turenko wrote:

We decided to build libcurl statically to avoid problems with libcurl
versions that Linux distributives ships (see the list below). I also did
this for Mac OS and FreeBSD to provide more or less uniform build and
dependencies list across OSes.

This patchset holds libcurl-7.65.3. AFAIK there is no problems on this
version that affects our built-in http client. We tested this version
(also linked statically to tarantool) against the performance
degradation we observed by our customers on CentOS 7 (#4397) and it
works good. The following list of issues re built-in http client will
become unrelevant after this patchset:

* #4180 ('httpc: redirects are broken with libcurl-7.30 and older');
* #4389 ('libcurl memory leak');
* #4397 ('HTTPS seem to be unstable').

I didn't close them from a commit however, because it would be good to
do a little extra work on them: at least bisect and understand what is a
cause of a problem. Say, it is possible that a problem caused by a
libcurl build option, but not a specific version. This information would
be useful to be sure we really don't affected by the issues and will not
step into the problems in the future.

The patchset contains two patches.

The first one workarounds a systemd issue that affects built-in pwd
module when tarantool is linked against libcurl w/o GSS API support
(this is how we build libcurl to link it statically). The problem
appears on Fedora 29. This is prerequisite to push the second patch.

The second patch enables static libcurl build, enables it by default and
adjusts all relevant scripts and dependencies.

https://github.com/tarantool/tarantool/issues/4318
https://github.com/tarantool/tarantool/tree/imeevma/gh-4318-link-libcurl-statically-full-ci

I've checked the patchset into 1.10, 2.1, 2.2 and master.

--
Regards, Kirill Yukhin

Other related posts: