Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
10.1.21, 10.4.6
-
None
-
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
|