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

Failed to build MariaDB server 11.5 on Ubunut 23.04 and older

Details

    Description

      When I tried to build a MariaDB 11.5 server according your documentation here:

      https://mariadb.com/kb/en/get-build-and-test-latest-mariadb-the-lazy-way/

      I get this error:

      CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
        Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)
        (Required is at least version "3.3.24")
      Call Stack (most recent call first):
        /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
        /usr/share/cmake-3.25/Modules/FindGnuTLS.cmake:68 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
        libmariadb/CMakeLists.txt:335 (FIND_PACKAGE)

      After installing this package:

      apt install libgnutls28-dev
      

      cmake worked without an error.

      So I assume there is a missing dependency in mariadb-server. Or at least you should fix the docu.

      Attachments

        Activity

          oli Oli Sennhauser created issue -
          danblack Daniel Black added a comment -

          Yes, openssl3.0 is required for later versions.

          Where openssl 3.0 isn't found, its forcing gnutls https://github.com/MariaDB/server/blob/11.5/cmake/mariadb_connector_c.cmake#L15. Because Wolfssl can't be used by connector? Not sure.

          So at the moment, looks like a dependency.

          danblack Daniel Black added a comment - Yes, openssl3.0 is required for later versions. Where openssl 3.0 isn't found, its forcing gnutls https://github.com/MariaDB/server/blob/11.5/cmake/mariadb_connector_c.cmake#L15 . Because Wolfssl can't be used by connector? Not sure. So at the moment, looks like a dependency.
          serg Sergei Golubchik made changes -
          Field Original Value New Value
          Description When I tried to build a MariaDB 11.5 server according your documentation here:

          https://mariadb.com/kb/en/get-build-and-test-latest-mariadb-the-lazy-way/

          I get this error:

          {{CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
            Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)
            (Required is at least version "3.3.24")
          Call Stack (most recent call first):
            /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
            /usr/share/cmake-3.25/Modules/FindGnuTLS.cmake:68 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
            libmariadb/CMakeLists.txt:335 (FIND_PACKAGE)}}

          After installing this package:

          apt install libgnutls28-dev

          cmake worked without an error.

          So I assume there is a missing dependency in mariadb-server. Or at least you should fix the docu.
          When I tried to build a MariaDB 11.5 server according your documentation here:

          https://mariadb.com/kb/en/get-build-and-test-latest-mariadb-the-lazy-way/

          I get this error:

          {noformat}CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
            Could NOT find GnuTLS (missing: GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR)
            (Required is at least version "3.3.24")
          Call Stack (most recent call first):
            /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
            /usr/share/cmake-3.25/Modules/FindGnuTLS.cmake:68 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
            libmariadb/CMakeLists.txt:335 (FIND_PACKAGE){noformat}

          After installing this package:
          {noformat}
          apt install libgnutls28-dev
          {noformat}
          cmake worked without an error.

          So I assume there is a missing dependency in mariadb-server. Or at least you should fix the docu.

          no, openssl 3.0 is not required for later versions, 1.1 or even 1.0 (I guess) will work too.

          But you're building with -DBUILD_CONFIG=mysql_release, this is a bintar build, it build everything bundled as much as possible. It will not use system OpenSSL no matter what version it'll be.

          The problem here is that apt build-dep mariadb-server fetches build dependencies for a deb build, but you're performing a bintar build. I'll update the manual.

          serg Sergei Golubchik added a comment - no, openssl 3.0 is not required for later versions, 1.1 or even 1.0 (I guess) will work too. But you're building with -DBUILD_CONFIG=mysql_release , this is a bintar build, it build everything bundled as much as possible. It will not use system OpenSSL no matter what version it'll be. The problem here is that apt build-dep mariadb-server fetches build dependencies for a deb build, but you're performing a bintar build. I'll update the manual.
          serg Sergei Golubchik made changes -
          Component/s Compiling [ 11001 ]
          Component/s Documentation [ 10903 ]
          Component/s Platform Debian [ 10136 ]
          Component/s Server [ 13907 ]
          Fix Version/s N/A [ 14700 ]
          Assignee Sergei Golubchik [ serg ]
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]

          People

            serg Sergei Golubchik
            oli Oli Sennhauser
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.