| Message ID | 20250630104104.4093207-1-Moritz.Haase@bmw.de |
|---|---|
| Headers | show |
| Series | cmake: Major version bump to 4.0.3 | expand |
On Mon Jun 30, 2025 at 12:41 PM CEST, Moritz Haase via lists.openembedded.org wrote: > This patch series bumps CMake to 4.0.3, the most current of the 4.x releases. > That bump allows us to drop all of the upstreamable patches for CMake itself > that we currently carry, which was the motivation for the update as suggested by > Alex Kanavin in [0]. > > Following the preparatory merge of [1] and [2], there are only two components > that require patches to build with the new CMake version. For both createrepo-c > and libcomps, those patches have already been merged upstream, but there have > been no subsequent releases yet. Thus, backports of the patches are included. They are to be merged > > changes in v2: > - Re-ordered / squashed commits to keep bisectability (see [3], [4]) > - Fixed patchtest findings > > [0]: https://lists.openembedded.org/g/openembedded-core/message/219113 > [1]: https://git.openembedded.org/openembedded-core/commit/?id=c3efca7495889f3682225af8c9e01ceb094b1bb7 > [2]: https://git.openembedded.org/openembedded-core/commit/?id=cb5234acdab200bd43b89416d8d7e9df91af58cc > [3]: https://lists.openembedded.org/g/openembedded-core/message/219403 > [4]: https://lists.openembedded.org/g/openembedded-core/message/219425 > > CC: alex.kanavin@gmail.com > CC: quentin.schulz@cherry.de > > Moritz Haase (3): > libcomps: Backport patch to support builds with CMake 4+ > createrepo-c: Backport patches to support builds with CMake 4+ > cmake: upgrade 3.31.6 -> 4.0.3 > > ...native_3.31.6.bb => cmake-native_4.0.3.bb} | 6 +- > meta/recipes-devtools/cmake/cmake.inc | 8 +- > ...mpilerABI-Strip-pipe-from-compile-fl.patch | 63 ----- > ...xt2fs-ext2_fs.h-by-cmake-s-internal.patch} | 4 +- > ...ng-undocumented-type-for-CURLOPT_NET.patch | 30 --- > ...trary-characters-in-test-names-of-CT.patch | 202 ---------------- > ...-CMakeLists.txt-disable-USE_NGHTTP2.patch} | 6 +- > .../cmake/{cmake_3.31.6.bb => cmake_4.0.3.bb} | 1 - > .../0001-Fix-libname-of-Libs.private.patch | 22 ++ > ...ED_TARGET-for-3rd-party-dependencies.patch | 226 ++++++++++++++++++ > ...-imported-targets-of-turned-off-depe.patch | 53 ++++ > ...ds-without-Doxygen-being-present-wit.patch | 50 ++++ > .../createrepo-c/createrepo-c_1.2.1.bb | 4 + > ...libcomps-Support-builds-with-CMake-4.patch | 132 ++++++++++ > .../libcomps/libcomps_0.1.21.bb | 1 + > 15 files changed, 499 insertions(+), 309 deletions(-) > rename meta/recipes-devtools/cmake/{cmake-native_3.31.6.bb => cmake-native_4.0.3.bb} (90%) > delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch > rename meta/recipes-devtools/cmake/cmake/{0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch => 0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch} (90%) > delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch > delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch > rename meta/recipes-devtools/cmake/cmake/{0001-CMakeLists.txt-disable-USE_NGHTTP2.patch => 0002-CMakeLists.txt-disable-USE_NGHTTP2.patch} (83%) > rename meta/recipes-devtools/cmake/{cmake_3.31.6.bb => cmake_4.0.3.bb} (96%) > create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-libname-of-Libs.private.patch > create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch > create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch > create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch > create mode 100644 meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch Hi, Some builds are failing on the Autobuilder after applying this patchset. Some recipes fail to configure with this updated version of CMake. For example: | DEBUG: Executing shell function do_configure | -- The C compiler identification is GNU 15.1.0 | -- Detecting C compiler ABI info | -- Detecting C compiler ABI info - done | -- Check for working C compiler: /srv/pokybuild/yocto-worker/musl-qemux86/build/build/tmp/work/core2-32-poky-linux-musl/musl-locales/1.0+git/recipe-sysroot-native/usr/bin/i686-poky-linux-musl/i686-poky-linux-musl-gcc - skipped | -- Detecting C compile features | -- Detecting C compile features - done | CMake Error at CMakeLists.txt:2 (cmake_minimum_required): | Compatibility with CMake < 3.5 has been removed from CMake. | | Update the VERSION argument <min> value. Or, use the <min>...<max> syntax | to tell CMake that the project requires at least <min> but has been updated | to work with policies introduced by <max> or earlier. | | Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway. | | | -- Configuring incomplete, errors occurred! | ERROR: Task (/srv/pokybuild/yocto-worker/musl-qemux86/build/meta/recipes-core/musl/musl-locales_git.bb:do_configure) failed with exit code '1' An overview of the errors can be found here: https://autobuilder.yoctoproject.org/valkyrie/api/v2/logs/2837629/raw_inline Antonin
Hi Antonin, > Some builds are failing on the Autobuilder after applying this patchset. > [...] > An overview of the errors can be found here: > [...] thanks! I've been able to reproduce most of those locally (via a 'bitbake world') and they are easily fixable / there are backportable patches by upstream. I'll add those to the series and post an updated version. The musl-locales failure I couldn't reproduce yet (I guess since my local build isn't set up to use musl). Is there an easy way to replicate an autobuilder build config locally? I couldn't tell from the docs I found at [0]. @Alex: Thanks for clarifying expectations re. the patch series in the other thread. If I can replicate build issues locally without much overhead, I'm happy to continue to support in adding required patches for affected components to the build. Moritz [0]: https://docs.yoctoproject.org/test-manual/understand-autobuilder.html
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > core@lists.openembedded.org> On Behalf Of Moritz Haase via > lists.openembedded.org > Sent: Tuesday, July 1, 2025 9:10 > To: Antonin Godard <antonin.godard@bootlin.com>; openembedded- > core@lists.openembedded.org > Cc: alex.kanavin@gmail.com; quentin.schulz@cherry.de > Subject: Re: [OE-core] [PATCH v2 0/3] cmake: Major version bump to 4.0.3 > > Hi Antonin, > > > Some builds are failing on the Autobuilder after applying this patchset. > > [...] > > An overview of the errors can be found here: > > [...] > > thanks! I've been able to reproduce most of those locally (via a 'bitbake > world') and they are easily fixable / there are backportable patches by > upstream. I'll add those to the series and post an updated version. > > The musl-locales failure I couldn't reproduce yet (I guess since my local build > isn't set up to use musl). Is there an easy way to replicate an autobuilder > build config locally? I couldn't tell from the docs I found at [0]. Putting TCLIBC = "musl" to your local.conf will switch from glibc to musl. Peter > > @Alex: Thanks for clarifying expectations re. the patch series in the other > thread. If I can replicate build issues locally without much overhead, I'm happy > to continue to support in adding required patches for affected components to the > build. > > Moritz > > [0]: https://docs.yoctoproject.org/test-manual/understand-autobuilder.html
On Tue Jul 1, 2025 at 9:10 AM CEST, JD-62 Haase Moritz wrote: > Hi Antonin, > >> Some builds are failing on the Autobuilder after applying this patchset. >> [...] >> An overview of the errors can be found here: >> [...] > > thanks! I've been able to reproduce most of those locally (via a 'bitbake > world') and they are easily fixable / there are backportable patches by > upstream. I'll add those to the series and post an updated version. > > The musl-locales failure I couldn't reproduce yet (I guess since my local build > isn't set up to use musl). Is there an easy way to replicate an autobuilder > build config locally? I couldn't tell from the docs I found at [0]. There's some container configuration here: https://git.yoctoproject.org/yocto-autobuilder2/tree/docker But it isn't trivial to setup, and the amount of build and resources it uses is non-negligible. I'd say the easiest would be to try to reproduce the build locally, for that use can read to get more insights on what's going on for a specific build: https://git.yoctoproject.org/yocto-autobuilder-helper/tree/config.json Thanks! Antonin
Hi Peter, hi Antonin, thanks for your pointers. I managed to reproduce all build errors locally (apart from the one in meta-virt, which I don't have set up locally) and have updated the patch series with fixes. Hopefully Autobuilder has less to complain about this time round :) Moritz
This patch series bumps CMake to 4.0.3, the most current of the 4.x releases. That bump allows us to drop all of the upstreamable patches for CMake itself that we currently carry, which was the motivation for the update as suggested by Alex Kanavin in [0]. Following the preparatory merge of [1] and [2], there are only two components that require patches to build with the new CMake version. For both createrepo-c and libcomps, those patches have already been merged upstream, but there have been no subsequent releases yet. Thus, backports of the patches are included. They are to be merged changes in v2: - Re-ordered / squashed commits to keep bisectability (see [3], [4]) - Fixed patchtest findings [0]: https://lists.openembedded.org/g/openembedded-core/message/219113 [1]: https://git.openembedded.org/openembedded-core/commit/?id=c3efca7495889f3682225af8c9e01ceb094b1bb7 [2]: https://git.openembedded.org/openembedded-core/commit/?id=cb5234acdab200bd43b89416d8d7e9df91af58cc [3]: https://lists.openembedded.org/g/openembedded-core/message/219403 [4]: https://lists.openembedded.org/g/openembedded-core/message/219425 CC: alex.kanavin@gmail.com CC: quentin.schulz@cherry.de Moritz Haase (3): libcomps: Backport patch to support builds with CMake 4+ createrepo-c: Backport patches to support builds with CMake 4+ cmake: upgrade 3.31.6 -> 4.0.3 ...native_3.31.6.bb => cmake-native_4.0.3.bb} | 6 +- meta/recipes-devtools/cmake/cmake.inc | 8 +- ...mpilerABI-Strip-pipe-from-compile-fl.patch | 63 ----- ...xt2fs-ext2_fs.h-by-cmake-s-internal.patch} | 4 +- ...ng-undocumented-type-for-CURLOPT_NET.patch | 30 --- ...trary-characters-in-test-names-of-CT.patch | 202 ---------------- ...-CMakeLists.txt-disable-USE_NGHTTP2.patch} | 6 +- .../cmake/{cmake_3.31.6.bb => cmake_4.0.3.bb} | 1 - .../0001-Fix-libname-of-Libs.private.patch | 22 ++ ...ED_TARGET-for-3rd-party-dependencies.patch | 226 ++++++++++++++++++ ...-imported-targets-of-turned-off-depe.patch | 53 ++++ ...ds-without-Doxygen-being-present-wit.patch | 50 ++++ .../createrepo-c/createrepo-c_1.2.1.bb | 4 + ...libcomps-Support-builds-with-CMake-4.patch | 132 ++++++++++ .../libcomps/libcomps_0.1.21.bb | 1 + 15 files changed, 499 insertions(+), 309 deletions(-) rename meta/recipes-devtools/cmake/{cmake-native_3.31.6.bb => cmake-native_4.0.3.bb} (90%) delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-CMakeDetermineCompilerABI-Strip-pipe-from-compile-fl.patch rename meta/recipes-devtools/cmake/cmake/{0005-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal-.patch => 0001-Disable-use-of-ext2fs-ext2_fs.h-by-cmake-s-internal.patch} (90%) delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-cmCurl-Avoid-using-undocumented-type-for-CURLOPT_NET.patch delete mode 100644 meta/recipes-devtools/cmake/cmake/0001-ctest-Allow-arbitrary-characters-in-test-names-of-CT.patch rename meta/recipes-devtools/cmake/cmake/{0001-CMakeLists.txt-disable-USE_NGHTTP2.patch => 0002-CMakeLists.txt-disable-USE_NGHTTP2.patch} (83%) rename meta/recipes-devtools/cmake/{cmake_3.31.6.bb => cmake_4.0.3.bb} (96%) create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0001-Fix-libname-of-Libs.private.patch create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0002-Use-IMPORTED_TARGET-for-3rd-party-dependencies.patch create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0003-Don-t-try-to-use-imported-targets-of-turned-off-depe.patch create mode 100644 meta/recipes-devtools/createrepo-c/createrepo-c/0004-cmake-Allow-builds-without-Doxygen-being-present-wit.patch create mode 100644 meta/recipes-devtools/libcomps/libcomps/0001-libcomps-Support-builds-with-CMake-4.patch