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