meson setup .build-openbench --cross-file targets/linux-native.txt --wipe --buildtype=release
The Meson build system
Version: 1.3.2
Source dir: /tmp/tmp8ymndnnm/Meltdown/Meltdown-tmp
Build dir: /tmp/tmp8ymndnnm/Meltdown/Meltdown-tmp/.build-openbench
Build type: cross build
Project name: meltdown-chess-engine
Project version: dev-1.0
C++ compiler for the host machine: clang++ (clang 18.1.3 "Ubuntu clang version 18.1.3 (1ubuntu1)")
C++ linker for the host machine: clang++ ld.lld 18.1.3
C++ compiler for the build machine: c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
C++ linker for the build machine: c++ ld.bfd 2.42
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
WARNING: You should add the boolean check kwarg to the run_command call.
It currently defaults to false,
but it will default to true in future releases of meson.
See also: https://github.com/mesonbuild/meson/issues/9300
Configuring version.h using configuration
Downloading magic_enum source from https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.7.tar.gz
Downloading file of unknown size.
Executing subproject magic_enum
magic_enum| Project name: magic_enum
magic_enum| Project version: 0.9.7
magic_enum| C++ compiler for the host machine: clang++ (clang 18.1.3 "Ubuntu clang version 18.1.3 (1ubuntu1)")
magic_enum| C++ linker for the host machine: clang++ ld.lld 18.1.3
magic_enum| C++ compiler for the build machine: c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
magic_enum| C++ linker for the build machine: c++ ld.bfd 2.42
magic_enum| Found pkg-config: NO
magic_enum| Build targets in project: 0
magic_enum| Subproject magic_enum finished.
Downloading fmt source from https://github.com/fmtlib/fmt/archive/11.1.1.tar.gz
Downloading file of unknown size.
Downloading fmt patch from https://wrapdb.mesonbuild.com/v2/fmt_11.1.1-2/get_patch
Initialized empty Git repository in /tmp/tmp8ymndnnm/Meltdown/Meltdown-tmp/subprojects/fathom/.git/
From https://github.com/hansbinderup/Fathom
* branch 6a3076f3648b72c0eb033026733371fc18187212 -> FETCH_HEAD
HEAD is now at 6a3076f build: add meson build as static library
Executing subproject fmt
fmt| Project name: fmt
fmt| Project version: 11.1.1
fmt| C++ compiler for the host machine: clang++ (clang 18.1.3 "Ubuntu clang version 18.1.3 (1ubuntu1)")
fmt| C++ linker for the host machine: clang++ ld.lld 18.1.3
fmt| C++ compiler for the build machine: c++ (gcc 13.3.0 "c++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
fmt| C++ linker for the build machine: c++ ld.bfd 2.42
fmt| Build targets in project: 1
fmt| Subproject fmt finished.
Executing subproject fathom
fathom| Project name: fathom
fathom| Project version: 1.0
fathom| C compiler for the host machine: clang (clang 18.1.3 "Ubuntu clang version 18.1.3 (1ubuntu1)")
fathom| C linker for the host machine: clang ld.lld 18.1.3
fathom| C compiler for the build machine: cc (gcc 13.3.0 "cc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0")
fathom| C linker for the build machine: cc ld.bfd 2.42
fathom| Build targets in project: 2
fathom| Subproject fathom finished.
Build targets in project: 3
meltdown-chess-engine dev-1.0
Subprojects
fathom : YES
fmt : YES
magic_enum : YES
User defined options
Cross files: targets/linux-native.txt
buildtype : release
Found ninja-1.11.1 at /usr/bin/ninja
meson compile -C .build-openbench
ninja: Entering directory `/tmp/tmp8ymndnnm/Meltdown/Meltdown-tmp/.build-openbench'
[1/8] Compiling C object subprojects/fathom/libfathom.a.p/src_tbchess.c.o
[2/8] Compiling C++ object subprojects/fmt-11.1.1/libfmt.a.p/src_os.cc.o
[3/8] Compiling C object subprojects/fathom/libfathom.a.p/src_tbprobe.c.o
[4/8] Linking static target subprojects/fathom/libfathom.a
[5/8] Compiling C++ object subprojects/fmt-11.1.1/libfmt.a.p/src_format.cc.o
[6/8] Linking static target subprojects/fmt-11.1.1/libfmt.a
[7/8] Compiling C++ object meltdown-chess-engine.p/src_main.cpp.o
FAILED: meltdown-chess-engine.p/src_main.cpp.o
clang++ -Imeltdown-chess-engine.p -I. -I.. -I../src -Iversion -I../version -I../subprojects/magic_enum-0.9.7/include -I../subprojects/fmt-11.1.1/include -I../subprojects/fathom/src -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -std=c++23 -O3 -ffast-math -fno-finite-math-only -funroll-loops -m64 -finline-functions -DNDEBUG -march=native -MD -MQ meltdown-chess-engine.p/src_main.cpp.o -MF meltdown-chess-engine.p/src_main.cpp.o.d -o meltdown-chess-engine.p/src_main.cpp.o -c ../src/main.cpp
In file included from ../src/main.cpp:1:
In file included from ../src/interface/uci_handler.h:4:
In file included from ../src/evaluation/evaluator.h:4:
In file included from ../src/core/time_manager.h:5:
../src/movegen/move_types.h:112:34: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
112 | constexpr static inline Move create(uint8_t from, uint8_t to, bool capture)
| ^~~~~~
../src/movegen/move_types.h:114:16: note: non-constexpr constructor 'Move' cannot be used in a constant expression
114 | return Move(from, to, capture ? MoveFlag::Capture : MoveFlag::Quiet);
| ^
../src/movegen/move_types.h:103:14: note: declared here
103 | explicit Move(uint8_t from, uint8_t to, MoveFlag flag)
| ^
../src/movegen/move_types.h:118:34: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
118 | constexpr static inline Move createPromotion(uint8_t from, uint8_t to, PromotionType promotion, bool capture)
| ^~~~~~~~~~~~~~~
../src/movegen/move_types.h:120:16: note: non-constexpr constructor 'Move' cannot be used in a constant expression
120 | return Move(from, to, promotionFlag(promotion, capture));
| ^
../src/movegen/move_types.h:103:14: note: declared here
103 | explicit Move(uint8_t from, uint8_t to, MoveFlag flag)
| ^
../src/movegen/move_types.h:124:34: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
124 | constexpr static inline Move createCastle(uint8_t from, uint8_t to, CastleType castle)
| ^~~~~~~~~~~~
../src/movegen/move_types.h:126:16: note: non-constexpr constructor 'Move' cannot be used in a constant expression
126 | return Move(from, to, castleFlag(castle));
| ^
../src/movegen/move_types.h:103:14: note: declared here
103 | explicit Move(uint8_t from, uint8_t to, MoveFlag flag)
| ^
../src/movegen/move_types.h:129:34: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
129 | constexpr static inline Move createEnPessant(uint8_t from, uint8_t to, bool doublePush)
| ^~~~~~~~~~~~~~~
../src/movegen/move_types.h:131:16: note: non-constexpr constructor 'Move' cannot be used in a constant expression
131 | return Move(from, to, doublePush ? MoveFlag::DoublePush : MoveFlag::EnPassant);
| ^
../src/movegen/move_types.h:103:14: note: declared here
103 | explicit Move(uint8_t from, uint8_t to, MoveFlag flag)
| ^
In file included from ../src/main.cpp:1:
In file included from ../src/interface/uci_handler.h:4:
In file included from ../src/evaluation/evaluator.h:5:
../src/core/transposition.h:109:27: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
109 | constexpr static void prefetch([[maybe_unused]] uint64_t key)
| ^~~~~~~~
../src/core/transposition.h:112:9: note: subexpression not valid in a constant expression
112 | __builtin_prefetch(&s_table[key % s_tableSize]);
| ^~~~~~~~~~~~~~~~~~
../src/core/transposition.h:149:49: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
149 | constexpr static std::optional<TtEntryData> probe(uint64_t key)
| ^~~~~
../src/core/transposition.h:153:23: note: read of non-constexpr variable 's_table' is not allowed in a constant expression
153 | auto& entry = s_table[key % s_tableSize];
| ^
../src/core/transposition.h:206:28: note: declared here
206 | static inline TtEntry* s_table;
| ^
../src/core/transposition.h:165:27: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
165 | constexpr static void writeEntry(uint64_t key, Score score, Score eval, movegen::Move move, bool ttPv, uint8_t depth, uint8_t ply, TtFlag flag)
| ^~~~~~~~~~
../src/core/transposition.h:169:23: note: read of non-constexpr variable 's_table' is not allowed in a constant expression
169 | auto& entry = s_table[key % s_tableSize];
| ^
../src/core/transposition.h:206:28: note: declared here
206 | static inline TtEntry* s_table;
| ^
In file included from ../src/main.cpp:1:
In file included from ../src/interface/uci_handler.h:4:
In file included from ../src/evaluation/evaluator.h:8:
In file included from ../src/interface/outputs.h:5:
In file included from ../src/search/searcher.h:9:
In file included from ../src/search/move_picker.h:10:
../src/syzygy/syzygy.h:89:16: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
89 | constexpr bool isTableActive(const BitBoard& board)
| ^~~~~~~~~~~~~
../src/syzygy/syzygy.h:91:9: note: read of non-const variable 'TB_LARGEST' is not allowed in a constant expression
91 | if (TB_LARGEST == 0)
| ^
../subprojects/fathom/src/tbprobe.h:162:17: note: declared here
162 | extern unsigned TB_LARGEST;
| ^
In file included from ../src/main.cpp:1:
In file included from ../src/interface/uci_handler.h:4:
In file included from ../src/evaluation/evaluator.h:8:
In file included from ../src/interface/outputs.h:5:
../src/search/searcher.h:115:45: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
115 | constexpr std::optional<SearcherResult> getSearchResult()
| ^~~~~~~~~~~~~~~
../src/search/searcher.h:117:16: note: non-literal type 'search::SearcherResult' cannot be used in a constant expression
117 | return m_futureResult.get();
| ^
../src/search/searcher.h:157:20: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
157 | constexpr void printEvaluation(const BitBoard& board, std::optional<uint8_t> depthInput = std::nullopt)
| ^~~~~~~~~~~~~~~
../src/search/searcher.h:168:42: note: non-literal type 'MovePicker<movegen::MoveCapture>' cannot be used in a constant expression
168 | MovePicker<movegen::MoveCapture> capturePicker { m_searchTables, m_ply, PickerPhase::GenerateMoves };
| ^
In file included from ../src/main.cpp:1:
In file included from ../src/interface/uci_handler.h:9:
../src/tools/perft.h:13:27: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
13 | constexpr static void run(const BitBoard& board, uint8_t depth)
| ^~~
../src/tools/perft.h:15:9: note: non-constexpr function 'reset' cannot be used in a constant expression
15 | reset();
| ^
../src/tools/perft.h:113:17: note: declared here
113 | void static reset()
| ^
11 errors generated.
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /tmp/tmp8ymndnnm/Meltdown/Meltdown-tmp/.build-openbench
make: *** [Makefile:21: openbench] Error 1