From: Alexander Turenko <alexander.turenko@tarantool.org> To: Georgy Kirichenko <georgy@tarantool.org> Cc: Alexander Turenko <alexander.turenko@tarantool.org>, tarantool-patches@freelists.org, "Alexander V . Tikhonov" <avtikhon@tarantool.org>, Mergen Imeev <imeevma@tarantool.org> Subject: [tarantool-patches] [PATCH 0/2] Build libcurl statically Date: Fri, 16 Aug 2019 05:32:34 +0300 [thread overview] Message-ID: <cover.1565920130.git.alexander.turenko@tarantool.org> (raw) 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 CI now fails, because some SQL tests were not updated properly on master. I'll rebase the branch when it will be fixed and will ensure that everything work. Alexander Turenko (1): lua: workaround pwd.getpwall() issue on Fedora 29 Mergen Imeev (1): build: link libcurl statically from a submodule .gitmodules | 3 + .travis.mk | 8 +-- CMakeLists.txt | 12 +++- Dockerfile.staticbuild | 14 +---- cmake/BuildLibCURL.cmake | 118 +++++++++++++++++++++++++++++++++++++++ debian/control | 9 ++- rpm/tarantool.spec | 9 ++- src/CMakeLists.txt | 3 + src/lua/pwd.lua | 13 +++++ test/unit/CMakeLists.txt | 1 + third_party/curl | 1 + 11 files changed, 169 insertions(+), 22 deletions(-) create mode 100644 cmake/BuildLibCURL.cmake create mode 160000 third_party/curl -- 2.22.0
next reply other threads:[~2019-08-16 2:32 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-16 2:32 Alexander Turenko [this message] 2019-08-16 2:32 ` [tarantool-patches] [PATCH 1/2] lua: workaround pwd.getpwall() issue on Fedora 29 Alexander Turenko 2019-08-16 2:32 ` [tarantool-patches] [PATCH 2/2] build: link libcurl statically from a submodule Alexander Turenko 2019-08-19 22:54 ` [tarantool-patches] Re: [PATCH 0/2] Build libcurl statically Alexander Turenko 2019-08-20 7:51 ` Георгий Кириченко 2019-08-22 8:42 ` Kirill Yukhin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=cover.1565920130.git.alexander.turenko@tarantool.org \ --to=alexander.turenko@tarantool.org \ --cc=avtikhon@tarantool.org \ --cc=georgy@tarantool.org \ --cc=imeevma@tarantool.org \ --cc=tarantool-patches@freelists.org \ --subject='Re: [tarantool-patches] [PATCH 0/2] Build libcurl statically' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox