From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id EDDE170310; Wed, 27 Jan 2021 16:09:50 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org EDDE170310 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1611752991; bh=23Qc3Ukg1XCkfr0aut/AAp4LK2B/crWvZdl5fmzMrIc=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=zFSSvydPnq7dClbdPlMZtU8uhbXtCMYeWTJYgZ9LtHO2O6UX4q6yg31r9r8hSCCAg IY9rv9AVQXofDKyPwqEchqhlk/YB/uaZ/NKDFr54d9Y5AyBrgPqoY0sJzlqgdvkCIG zeD1LcPAO/Ky06FnbKaUX8fsiYwteHOBeaKRA1hg= Received: from smtp56.i.mail.ru (smtp56.i.mail.ru [217.69.128.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 7009870310 for ; Wed, 27 Jan 2021 16:09:49 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 7009870310 Received: by smtp56.i.mail.ru with esmtpa (envelope-from ) id 1l4kZw-0001WA-7l; Wed, 27 Jan 2021 16:09:48 +0300 Date: Wed, 27 Jan 2021 13:09:47 +0000 To: Igor Munkin Message-ID: <20210127130947.yw5sdswpokujblyr@tarantool.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD92BC6D7A73B5E1EC9AF79BA1DCC7B756D5389B904F5C05B9800894C459B0CD1B99084F8EEC17AD79DBAAA931D5ACBB96D196BFB5F711CE92ABC0FEE398BF55443 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE746D93DAA4671895CEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637B9ECF1867A781AFF8638F802B75D45FF5571747095F342E8C7A0BC55FA0FE5FCBC5401B145ECB2187A6880AAB40D2C0588A322D04D86FD41389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C07E7E81EEA8A9722B8941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6D082881546D93491CC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB8D32BA5DBAC0009BE9E8FC8737B5C224966D89E201A891B4676E601842F6C81A12EF20D2F80756B5F7E9C4E3C761E06A776E601842F6C81A127C277FBC8AE2E8BB403722D27F53E293AA81AA40904B5D9DBF02ECDB25306B2B25CBF701D1BE8734AD6D5ED66289B5278DA827A17800CE7AAF33752BA76F86767F23339F89546C5A8DF7F3B2552694A6FED454B719173D6725E5C173C3A84C3F8A0C55DE5E8D0B235872C767BF85DA2F004C906525384306FED454B719173D6462275124DF8B9C934F12F0C005D1A85E5BFE6E7EFDEDCD789D4C264860C145E X-C1DE0DAB: 0D63561A33F958A50142E956B97859A4BE57D9651AF8CDA5929ACF232F9B2D4FD59269BC5F550898D99A6476B3ADF6B47008B74DF8BB9EF7333BD3B22AA88B938A852937E12ACA75F04B387B5D7535DE410CA545F18667F91A7EA1CDA0B5A7A0 X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34181D1E89D5A0B42F4BEE8459A531CFEF2EDACF0AAA3295A58C7031AFFC2D3D7965909B4FE9CAAC871D7E09C32AA3244CF8E719C8BF4215B34D4CE6F2FA0B43E0250262A5EE9971B0FACE5A9C96DEB163 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2bioj5ZUBkD5pAd8IblyPtTip2g== X-Mailru-Sender: 05EB39F83D09414F9B5D7F52D7CDFDD2F43935F21DD659E8417855E6A07205D868D1E2F21390247FCA16B95394F0DD5CE99530A0C0F27B5268329DCED823713783C0E760C018FF54112434F685709FCF0DA7A0AF5A3A8387 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH v2 0/2] Update CMake minimum version in Tarantool X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Kirill Yukhin via Tarantool-patches Reply-To: Kirill Yukhin Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hello, On 25 янв 22:14, Igor Munkin wrote: > This series contains auxiliary activities required for this issue[1]. > > The second and main patch updates Tarantool build infrastructure to use > CMake 3.1 or newer. Since this CMake release[2] the vital for LuaJIT > testing environment feature is introduced: one can use generator > expressions[3] in target DEPENDS section. This CMake feature is used to > pass either Tarantool binary or LuaJIT binary to the newly implemented > testing machinery with no changes in it. > > Unfortunately, not all distributions provides CMake 3.1 or newer from their > repositories. Here is the actual list of default packages providing CMake > for the distributions that support Tarantool: > | Distro | CMake version | Repo | > |--------------------+---------------+---------------------| > | CentOS 6 | 2.8.12 | base | > | CentOS 7 | 2.8.12 | base | > | CentOS 8 | 3.11.4 | appstream | > | Debian Jessie | 3.0.2 | jessie/main | > | Debian Stretch | 3.7.2 | stretch/main | > | Debian Buster | 3.13.4 | buster/main | > | Fedora 28 | 3.14.4 | updates | > | Fedora 29 | 3.14.5 | updates | > | Fedora 30 | 3.17.2 | updates | > | Fedora 31 | 3.17.4 | updates | > | Fedora 32 | 3.17.4 | updates | > | FreeBSD 12 | 3.15.5 | default | > | OSX 14 | 3.19.3 | brew | > | OSX 15 | 3.19.3 | brew | > | Ubuntu 14.04 | 2.8.12 | trusty/main | > | Ubuntu 16.04 | 3.5.1 | xenial-updates/main | > | Ubuntu 18.04 | 3.10.2 | bionic-updates/main | > | Ubuntu 20.04 | 3.16.3 | focal/main | > | openSUSE Leap 15.1 | 3.10.2 | Main | > | openSUSE Leap 15.2 | 3.17.0 | Main | > > As one can see, there are no required packages provided by default for > the following old distributions: CentOS 6, CentOS 7, Debian Jessie and > Ubuntu 14.04. There are alternative packages (i.e. cmake3) providing a > newer CMake than the default one for the old packages: > | Distro | CMake3 version | Repo | > |--------------------+-----------------+-------------------------| > | CentOS 6 | 3.6.1 | epel* | > | CentOS 7 | 3.17.5 | epel* | > | Ubuntu 14.04 | 3.5.1 | trusty-updates/universe | > > (*) Unfortunately, I failed to find the way to make rpmbuild install and > enable EPEL repository prior to the build step. However, cmake3 > requirement obligues user to enable EPEL by himself, otherwise this > dependency is left unmet. If there are any issues with building an > RPM on CentOS 7 please proceed to the docs: > https://www.tarantool.io/en/doc/latest/dev_guide/building_from_source/ > > So the last problem is Debian Jessie: the required CMake toolchain is > provided neither via the default repository nor via the auxiliary one > (e.g. updates like it's done for Ubuntu 14.04). Anyway, Debian Jessie > long term support has reached its EOL[4], so we can freely drop this > distribution from our regular building testing. This is done in the > first patch of this series. > > NB: Be careful with updating CMake to 3.1 in CMakeLists. The following > patch breaks Tarantool build. > | diff --git a/CMakeLists.txt b/CMakeLists.txt > | index 4fbd19558..6dc78fa88 100644 > | --- a/CMakeLists.txt > | +++ b/CMakeLists.txt > | @@ -1,4 +1,4 @@ > | -cmake_minimum_required(VERSION 2.8) > | +cmake_minimum_required(VERSION 3.1) > | > | project(tarantool C CXX) > | > > Surprisingly, as a result of this change -Wno-gnu-alignof-expression > flag is removed from CFLAGS and the build fails on OSX with the > following error[5]: > | /tarantool/src/box/field_map.c:69:36: error: '_Alignof' applied to an expression is a GNU extension [-Werror,-Wgnu-alignof-expression] > | region_aligned_alloc(region, sz, alignof(*extent)); > | ^ > | /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdalign.h:15:17: note: expanded from macro 'alignof' > | #define alignof _Alignof > | ^ > | 1 error generated. > > Anyway, I believe this is out of the scope of this series, so I just > leave this for the further CMake upgrade endeavors. > > Changes in v2: > * Adjust the series in accordance with recently merged PRs moving all > build jobs to GitHub CI[6], removing CentOS 6 CI pipeline[7] and > introducing Fedora 33 build job to CI[8]. > * Moved some parts of cover letter to commit messages. > > [1]: https://github.com/tarantool/tarantool/issues/4862 > [2]: https://cmake.org/cmake/help/latest/release/3.1.html#commands > [3]: https://cmake.org/cmake/help/v3.1/manual/cmake-generator-expressions.7.html > [4]: https://www.debian.org/News/2020/20200709 > [5]: https://gitlab.com/tarantool/tarantool/-/pipelines/243423841 > [6]: https://github.com/tarantool/tarantool/pull/5724 > [7]: https://github.com/tarantool/tarantool/pull/5729 > [8]: https://github.com/tarantool/tarantool/pull/5707 > > Branch: https://github.com/tarantool/tarantool/tree/imun/cmake3-toolchain > V1: https://lists.tarantool.org/tarantool-patches/20210120184230.GC5460@tarantool.org/T/#t > Issue: https://github.com/tarantool/tarantool/issues/4862 > CI is green but I can't share a single link to it after the changes in > #5724, so please check whether there is a green tick everywhere for the > top commit on the mentioned branch. I've checked your patchset into 1.10, 2.6, 2.7 andd master. -- Regards, Kirill Yukhin