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

CMake with Ninja generator fails to create directory in support-files/

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 10.1.21, 10.4.6
    • Fix Version/s: 10.1.43
    • Component/s: Compiling
    • Labels:
      None
    • Environment:
      uname: Linux-5.1.15-300.fc30.x86_64
      CMake version: 3.14.5
      Ninja version: 1.9.0

      Description

      When compiling the server with ninja, the step to create the SELinux module fails because of a missing directory (mariadb-pp.dir).
      Leaving off the -G option and compiling with conventional make the missing directory gets created by cmake and the module gets created as expected. A directory listing is provided below.
      When creating the directory before starting compilation with ninja, the SELinux module gets created without a problem.

      Error

      [1/1] Generating mariadb.pp
      FAILED: mariadb.pp
      cd /home/vmuser/mariadb/mariadb-10.4.6/support-files && /usr/bin/checkmodule -M -m /home/vmuser/mariadb/mariadb-10.4.6/support-files/policy/selinux/mariadb.te -o /home/vmuser/mariadb/mariadb-10.4.6/support-files/CMakeFiles/mariadb-pp.dir/mariadb.mod && /usr/bin/semodule_package -m /home/vmuser/mariadb/mariadb-10.4.6/support-files/CMakeFiles/mariadb-pp.dir/mariadb.mod -o /home/vmuser/mariadb/mariadb-10.4.6/support-files/mariadb.pp
      /home/vmuser/mariadb/mariadb-10.4.6/support-files/CMakeFiles/mariadb-pp.dir/mariadb.mod: No such file or directory
      ninja: build stopped: subcommand failed.
      

      Reproduction

      tar xf mariadb-10.4.6.tar.gz # (via https://downloads.mariadb.org/mariadb/10.4.6/#os_group=source)
      cd ./mariadb-10.4.6/support-files
      cmake . -Wno-dev \
              -DCMAKE_INSTALL_PREFIX=$HOME/.local/mariadb \
              -DINSTALL_SUPPORTFILESDIR=share/mariadb \
              -G Ninja
      ninja
      

      I noticed the problem first when I compiled mariadb-server. But I reduced the instructions to reproduce the error.
      The error remains identical.

      Bug History

      The code in the CMakeLists.txt was first introduced in c1a23cd4e5f9.
      The error was first introduced in mariadb-10.1.21.

      Appendix

      Listing of the mariadb-pp.dir directory created by cmake when using the default generator for conventional makefiles.

      mariadb-10.4.6/support-files/CMakeFiles/mariadb-pp.dir/
      ├── build.make
      ├── cmake_clean.cmake
      ├── DependInfo.cmake
      └── progress.make
      

        Attachments

          Activity

            People

            Assignee:
            anel Anel Husakovic
            Reporter:
            mundry Sebastian Mundry
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: