Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-36422

Build fails with cmake 4.0.0 due to wsrep

Details

    Description

      Build fails with

      The following PR ( or similar is required is wsrep)
      https://github.com/codership/wsrep-lib/pull/246

      CMake Error at CMakeLists.txt (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.
      

      Attachments

        Issue Links

          Activity

            renodr Douglas Reno added a comment - - edited

            After applying the wsrep change it will also fail in the storage/mroonga directory (at least on my system). I haven't investigated that any further though, we (Linux From Scratch) are now using -DCMAKE_MINIMUM_POLICY_VERSION=3.5 to bypass the errors since one of our developers needed to build MariaDB to do an update to another package, but the error from storage/mroonga is:

            CMake Error at storage/mroonga/CMakeLists.txt:20 (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!
            
            

            After passing -DCMAKE_MINIMUM_POLICY_VERSION=3.5, we also got the following deprecation notices:

            -- SYSTEM_LIBS /usr/lib/libz.so;dl;m;dl;m;/usr/lib/libssl.so;/usr/lib/libcrypto.so
            CMake Warning (dev) at libmariadb/cmake/FindGSSAPI.cmake:64 (exec_program):
              Policy CMP0153 is not set: The exec_program command should not be called.
              Run "cmake --help-policy CMP0153" for policy details.  Use the cmake_policy
              command to set the policy and suppress this warning.
             
              Use execute_process() instead.
            Call Stack (most recent call first):
              libmariadb/CMakeLists.txt:439 (INCLUDE)
            This warning is for project developers.  Use -Wno-dev to suppress it.
             
            CMake Warning (dev) at libmariadb/cmake/FindGSSAPI.cmake:74 (exec_program):
              Policy CMP0153 is not set: The exec_program command should not be called.
              Run "cmake --help-policy CMP0153" for policy details.  Use the cmake_policy
              command to set the policy and suppress this warning.
             
              Use execute_process() instead.
            Call Stack (most recent call first):
              libmariadb/CMakeLists.txt:439 (INCLUDE)
            This warning is for project developers.  Use -Wno-dev to suppress it.
             
            CMake Warning (dev) at libmariadb/cmake/FindGSSAPI.cmake:78 (exec_program):
              Policy CMP0153 is not set: The exec_program command should not be called.
              Run "cmake --help-policy CMP0153" for policy details.  Use the cmake_policy
              command to set the policy and suppress this warning.
             
              Use execute_process() instead.
            Call Stack (most recent call first):
              libmariadb/CMakeLists.txt:439 (INCLUDE)
            This warning is for project developers.  Use -Wno-dev to suppress it.
             
            -- Performing Test have_CXX__fno_lto - Success
            CMake Warning (dev) at storage/columnstore/columnstore/CMakeLists.txt:53 (FIND_PACKAGE):
              Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
              --help-policy CMP0167" for policy details.  Use the cmake_policy command to
              set the policy and suppress this warning.
             
            This warning is for project developers.  Use -Wno-dev to suppress it.
             
            -- Looking for msgpack_version in msgpack - not found
            CMake Deprecation Warning at storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt:18 (cmake_minimum_required):
              Compatibility with CMake < 3.10 will be removed from a future version of
              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.
             
             
            -- Configuring OQGraph
            CMake Warning (dev) at storage/oqgraph/CMakeLists.txt:12 (FIND_PACKAGE):
              Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
              --help-policy CMP0167" for policy details.  Use the cmake_policy command to
              set the policy and suppress this warning.
             
            Call Stack (most recent call first):
              storage/oqgraph/CMakeLists.txt:43 (CHECK_OQGRAPH)
            This warning is for project developers.  Use -Wno-dev to suppress it.
             
            -- Performing Test have_CXX__Wno_unused_but_set_variable - Success
            CMake Warning (dev) at cmake/libutils.cmake:229 (ADD_CUSTOM_COMMAND):
              The following keywords are not supported when using
              add_custom_command(TARGET): DEPENDS.
             
             
              Policy CMP0175 is not set: add_custom_command() rejects invalid arguments.
              Run "cmake --help-policy CMP0175" for policy details.  Use the cmake_policy
              command to set the policy and suppress this warning.
            Call Stack (most recent call first):
              cmake/libutils.cmake:267 (MERGE_STATIC_LIBS)
              libmysqld/CMakeLists.txt:205 (MERGE_LIBRARIES)
            This warning is for project developers.  Use -Wno-dev to suppress it.
             
            CMake Warning (dev) at cmake/install_macros.cmake:251 (INSTALL):
              Policy CMP0177 is not set: install() DESTINATION paths are normalized.  Run
              "cmake --help-policy CMP0177" for policy details.  Use the cmake_policy
              command to set the policy and suppress this warning.
            Call Stack (most recent call first):
              mysql-test/CMakeLists.txt:17 (INSTALL_MYSQL_TEST)
            This warning is for project developers.  Use -Wno-dev to suppress it.
            

            This is on a Linux From Scratch system (12.3 with some updates).

            renodr Douglas Reno added a comment - - edited After applying the wsrep change it will also fail in the storage/mroonga directory (at least on my system). I haven't investigated that any further though, we (Linux From Scratch) are now using -DCMAKE_MINIMUM_POLICY_VERSION=3.5 to bypass the errors since one of our developers needed to build MariaDB to do an update to another package, but the error from storage/mroonga is: CMake Error at storage/mroonga/CMakeLists.txt:20 (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! After passing -DCMAKE_MINIMUM_POLICY_VERSION=3.5, we also got the following deprecation notices: -- SYSTEM_LIBS /usr/lib/libz.so;dl;m;dl;m;/usr/lib/libssl.so;/usr/lib/libcrypto.so CMake Warning (dev) at libmariadb/cmake/FindGSSAPI.cmake: 64 (exec_program): Policy CMP0153 is not set: The exec_program command should not be called. Run "cmake --help-policy CMP0153" for policy details. Use the cmake_policy command to set the policy and suppress this warning.   Use execute_process() instead. Call Stack (most recent call first): libmariadb/CMakeLists.txt: 439 (INCLUDE) This warning is for project developers. Use -Wno-dev to suppress it.   CMake Warning (dev) at libmariadb/cmake/FindGSSAPI.cmake: 74 (exec_program): Policy CMP0153 is not set: The exec_program command should not be called. Run "cmake --help-policy CMP0153" for policy details. Use the cmake_policy command to set the policy and suppress this warning.   Use execute_process() instead. Call Stack (most recent call first): libmariadb/CMakeLists.txt: 439 (INCLUDE) This warning is for project developers. Use -Wno-dev to suppress it.   CMake Warning (dev) at libmariadb/cmake/FindGSSAPI.cmake: 78 (exec_program): Policy CMP0153 is not set: The exec_program command should not be called. Run "cmake --help-policy CMP0153" for policy details. Use the cmake_policy command to set the policy and suppress this warning.   Use execute_process() instead. Call Stack (most recent call first): libmariadb/CMakeLists.txt: 439 (INCLUDE) This warning is for project developers. Use -Wno-dev to suppress it.   -- Performing Test have_CXX__fno_lto - Success CMake Warning (dev) at storage/columnstore/columnstore/CMakeLists.txt: 53 (FIND_PACKAGE): Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake --help-policy CMP0167" for policy details. Use the cmake_policy command to set the policy and suppress this warning.   This warning is for project developers. Use -Wno-dev to suppress it.   -- Looking for msgpack_version in msgpack - not found CMake Deprecation Warning at storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/CMakeLists.txt: 18 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of 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.     -- Configuring OQGraph CMake Warning (dev) at storage/oqgraph/CMakeLists.txt: 12 (FIND_PACKAGE): Policy CMP0167 is not set: The FindBoost module is removed. Run "cmake --help-policy CMP0167" for policy details. Use the cmake_policy command to set the policy and suppress this warning.   Call Stack (most recent call first): storage/oqgraph/CMakeLists.txt: 43 (CHECK_OQGRAPH) This warning is for project developers. Use -Wno-dev to suppress it.   -- Performing Test have_CXX__Wno_unused_but_set_variable - Success CMake Warning (dev) at cmake/libutils.cmake: 229 (ADD_CUSTOM_COMMAND): The following keywords are not supported when using add_custom_command(TARGET): DEPENDS.     Policy CMP0175 is not set: add_custom_command() rejects invalid arguments. Run "cmake --help-policy CMP0175" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Call Stack (most recent call first): cmake/libutils.cmake: 267 (MERGE_STATIC_LIBS) libmysqld/CMakeLists.txt: 205 (MERGE_LIBRARIES) This warning is for project developers. Use -Wno-dev to suppress it.   CMake Warning (dev) at cmake/install_macros.cmake: 251 (INSTALL): Policy CMP0177 is not set: install() DESTINATION paths are normalized. Run "cmake --help-policy CMP0177" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Call Stack (most recent call first): mysql-test/CMakeLists.txt: 17 (INSTALL_MYSQL_TEST) This warning is for project developers. Use -Wno-dev to suppress it. This is on a Linux From Scratch system (12.3 with some updates).
            teemu.ollakka Teemu Ollakka added a comment -

            MariaDB 10.11 and earlier still seem to require CMake 2.8.12. Will this requirement remain in 10.x series or will builders be upgraded to have CMake >= 3.5?

            serg?

            teemu.ollakka Teemu Ollakka added a comment - MariaDB 10.11 and earlier still seem to require CMake 2.8.12. Will this requirement remain in 10.x series or will builders be upgraded to have CMake >= 3.5? serg ?

            I don't know of any plans to raise the cmake requirement for old server branches.

            But anyway, if I'm not mistaken, the PR (https://github.com/codership/wsrep-lib/pull/246) uses 2.8...4.0 syntax, which should work fine for both old and new server versions

            serg Sergei Golubchik added a comment - I don't know of any plans to raise the cmake requirement for old server branches. But anyway, if I'm not mistaken, the PR ( https://github.com/codership/wsrep-lib/pull/246 ) uses 2.8...4.0 syntax, which should work fine for both old and new server versions

            cmake 4.0 are really come to linux distros.

            sanja Oleksandr Byelkin added a comment - cmake 4.0 are really come to linux distros.
            teemu.ollakka Teemu Ollakka added a comment -

            Wsrep-lib master branch contains now fix for cmake 4.0.0, starting from commit 324b01e4315623ce026688dd9da1a5f921ce7084.

            teemu.ollakka Teemu Ollakka added a comment - Wsrep-lib master branch contains now fix for cmake 4.0.0, starting from commit 324b01e4315623ce026688dd9da1a5f921ce7084 .

            janlindstrom, please, comment here or reassign the issue, when you want us to update the wsrep-lib submodule in 10.5. That is, when wsrep-lib is ready for it.

            serg Sergei Golubchik added a comment - janlindstrom , please, comment here or reassign the issue, when you want us to update the wsrep-lib submodule in 10.5. That is, when wsrep-lib is ready for it.

            Looks good to me

            wlad Vladislav Vaintroub added a comment - Looks good to me
            nikitamalyavin Nikita Malyavin added a comment - we'll wait for https://github.com/codership/wsrep-lib/pull/249/ before we push

            People

              nikitamalyavin Nikita Malyavin
              heitbaum Rudi Heitbaum
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.