djcb / mu

maildir indexer/searcher + emacs mail client + guile bindings

Home Page:http://www.djcbsoftware.nl/code/mu

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[mu bug] Build script fails if configured with tests disabled

progfolio opened this issue · comments

Describe the bug

I'm not familiar with meson, so please forgive my ignorance if this is not a bug.
When upgrading to the latest mu version with tests disabled I get the following build error:

mu 1.12.2

  User defined options
    tests: disabled

Found ninja-1.11.1 at /usr/bin/ninja
Cleaning... 0 files.                                                                                                                                                                           
*** Now run either 'ninja -C build' or 'make' to build mu
*** Check the Makefile for other useful targets
(ins)n@laptop:mu [master]$ ninja -C build
ninja: Entering directory `build'
[2/99] Compiling C++ object lib/utils/libmu-utils.a.p/mu-test-utils.cc.o
FAILED: lib/utils/libmu-utils.a.p/mu-test-utils.cc.o 
c++ -Ilib/utils/libmu-utils.a.p -Ilib/utils -I../lib/utils -Ilib -I../lib -I../thirdparty -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++17 -O2 -g -Wno-unused-parameter -Wno-cast-function-type -Wformat-security -Wformat=2 -Wstack-protector -fstack-protector-strong -Wno-switch-enum -Wno-array-bounds -Wno-stringop-overflow -Wno-volatile -DHAVE_CONFIG_H -fPIC -pthread -MD -MQ lib/utils/libmu-utils.a.p/mu-test-utils.cc.o -MF lib/utils/libmu-utils.a.p/mu-test-utils.cc.o.d -o lib/utils/libmu-utils.a.p/mu-test-utils.cc.o -c ../lib/utils/mu-test-utils.cc
../lib/utils/mu-test-utils.cc: In destructor ‘Mu::TempDir::~TempDir()’:
../lib/utils/mu-test-utils.cc:134:38: error: ‘RM_PROGRAM’ was not declared in this scope; did you mean ‘MU_PROGRAM’?
  134 |         if (auto&& res{run_command0({RM_PROGRAM, "-fr", path_})}; !res) {
      |                                      ^~~~~~~~~~
      |                                      MU_PROGRAM
../lib/utils/mu-test-utils.cc:134:36: error: could not convert ‘{<expression error>, "-fr", ((Mu::TempDir*)this)->Mu::TempDir::path_}’ from ‘<brace-enclosed initializer list>’ to ‘std::initializer_list<std::__cxx11::basic_string<char> >’
  134 |         if (auto&& res{run_command0({RM_PROGRAM, "-fr", path_})}; !res) {
      |                        ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                    |
      |                                    <brace-enclosed initializer list>
[11/99] Compiling C++ object lib/libmu.a.p/mu-query-processor.cc.o
ninja: build stopped: subcommand failed.

Recompiling with tests enabled builds successfully.
Won't have time to bisect for a couple days, but my gut is pointing to:

15c9a3e

To Reproduce

  1. $ ./autogen.sh -Dtests=disabled
  2. $ ninja -C build

Environment

  • Linux laptop 6.8.1-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 16 Mar 2024 17:15:35 +0000 x86_64 GNU/Linux

  • GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41, cairo version 1.18.0) of 2024-04-05

  • mu version: 1.12.2 9557ba4

Checklist

  • you are running either the latest 1.8.x/1.10.x release or master (otherwise, please upgrade).

Tested and everything is building cleanly again. Thank you.