cc -Wall -Wextra -Wpedantic -Wshadow -std=c++20 -march=native -O3 -funroll-loops -DEVALFILE=\"/home/patrick/ChessProgramming/OpenBench/Client/Networks/66281CFC\" schoenemann.cpp search.cpp timeman.cpp helper.cpp tt.cpp moveorder.cpp see.cpp tune.cpp datagen.cpp -o Schoenemann-ADC39C26-66281CFC
In file included from tt.h:25,
                 from consts.h:25,
                 from schoenemann.h:26,
                 from schoenemann.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from schoenemann.h:26,
                 from schoenemann.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from schoenemann.h:26,
                 from schoenemann.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
chess.hpp: In instantiation of ‘void chess::Board::setFenInternal(std::string_view) [with bool ctor = true; std::string_view = std::basic_string_view<char>]’:
chess.hpp:2016:33:   required from here
chess.hpp:3350:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow]
 3350 |                 const auto start = side == king_side ? king_sq + 1 : king_sq - 1;
      |                            ^~~~~
search.cpp:22:25: note: shadowed declaration is here
   22 | std::chrono::time_point start = std::chrono::steady_clock::now();
      |                         ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from search.h:25,
                 from search.cpp:20:
chess.hpp: In instantiation of ‘void chess::Board::setFenInternal(std::string_view) [with bool ctor = false; std::string_view = std::basic_string_view<char>]’:
chess.hpp:2019:67:   required from here
chess.hpp:3350:28: warning: declaration of ‘start’ shadows a global declaration [-Wshadow]
 3350 |                 const auto start = side == king_side ? king_sq + 1 : king_sq - 1;
      |                            ^~~~~
search.cpp:22:25: note: shadowed declaration is here
   22 | std::chrono::time_point start = std::chrono::steady_clock::now();
      |                         ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from timeman.h:22,
                 from timeman.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from helper.h:22,
                 from helper.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from helper.h:22,
                 from helper.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from helper.h:22,
                 from helper.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from tt.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from tt.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from tt.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from moveorder.h:24,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from moveorder.h:24,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from moveorder.h:24,
                 from moveorder.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from see.h:22,
                 from see.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from see.h:22,
                 from see.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from see.h:22,
                 from see.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
In file included from tt.h:25,
                 from consts.h:25,
                 from datagen.h:22,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(chess::File::underlying)’:
chess.hpp:191:35: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  191 |         constexpr File(underlying file) : file(file) {}
      |                        ~~~~~~~~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::File::File(int)’:
chess.hpp:192:28: warning: declaration of ‘file’ shadows a member of ‘chess::File’ [-Wshadow]
  192 |         constexpr File(int file) : file(static_cast<underlying>(file)) {}
      |                        ~~~~^~~~
chess.hpp:238:20: note: shadowed declaration is here
  238 |         underlying file;
      |                    ^~~~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(int)’:
chess.hpp:333:30: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  333 |         constexpr Square(int sq) : sq(static_cast<underlying>(sq)) { assert(sq <= 64 && sq >= 0); }
      |                          ~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Square::Square(chess::Square::underlying)’:
chess.hpp:336:37: warning: declaration of ‘sq’ shadows a member of ‘chess::Square’ [-Wshadow]
  336 |         constexpr Square(underlying sq) : sq(sq) {}
      |                          ~~~~~~~~~~~^~
chess.hpp:569:20: note: shadowed declaration is here
  569 |         underlying sq;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
chess.hpp: In constructor ‘constexpr chess::Bitboard::Bitboard(uint64_t)’:
chess.hpp:611:42: warning: declaration of ‘bits’ shadows a member of ‘chess::Bitboard’ [-Wshadow]
  611 |         constexpr Bitboard(std::uint64_t bits) : bits(bits) {}
      |                            ~~~~~~~~~~~~~~^~~~
chess.hpp:798:23: note: shadowed declaration is here
  798 |         std::uint64_t bits;
      |                       ^~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from datagen.h:22,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::PieceType::PieceType(chess::PieceType::underlying)’:
chess.hpp:1094:40: warning: declaration of ‘pt’ shadows a member of ‘chess::PieceType’ [-Wshadow]
 1094 |         constexpr PieceType(underlying pt) : pt(pt) {}
      |                             ~~~~~~~~~~~^~
chess.hpp:1180:20: note: shadowed declaration is here
 1180 |         underlying pt;
      |                    ^~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
chess.hpp: In constructor ‘constexpr chess::Piece::Piece(chess::Piece::underlying)’:
chess.hpp:1210:36: warning: declaration of ‘piece’ shadows a member of ‘chess::Piece’ [-Wshadow]
 1210 |         constexpr Piece(underlying piece) : piece(piece) {}
      |                         ~~~~~~~~~~~^~~~~
chess.hpp:1301:20: note: shadowed declaration is here
 1301 |         underlying piece;
      |                    ^~~~~
In file included from tt.h:25,
                 from consts.h:25,
                 from datagen.h:22,
                 from datagen.cpp:20:
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In constructor ‘chess::Board::State::State(const U64&, const chess::Board::CastlingRights&, const chess::Square&, const uint8_t&, const chess::Piece&)’:
chess.hpp:1995:32: warning: declaration of ‘captured_piece’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1995 |                   const Piece &captured_piece)
      |                   ~~~~~~~~~~~~~^~~~~~~~~~~~~~
chess.hpp:1992:19: note: shadowed declaration is here
 1992 |             Piece captured_piece;
      |                   ^~~~~~~~~~~~~~
chess.hpp:1994:108: warning: declaration of ‘half_moves’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                                             ~~~~~~~~~~~~~~~^~~~~~~~~~
chess.hpp:1991:21: note: shadowed declaration is here
 1991 |             uint8_t half_moves;
      |                     ^~~~~~~~~~
chess.hpp:1994:82: warning: declaration of ‘enpassant’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                                                    ~~~~~~~~~~~~~~^~~~~~~~~
chess.hpp:1990:20: note: shadowed declaration is here
 1990 |             Square enpassant;
      |                    ^~~~~~~~~
chess.hpp:1994:58: warning: declaration of ‘castling’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
chess.hpp:1989:28: note: shadowed declaration is here
 1989 |             CastlingRights castling;
      |                            ^~~~~~~~
chess.hpp:1994:30: warning: declaration of ‘hash’ shadows a member of ‘chess::Board::State’ [-Wshadow]
 1994 |             State(const U64 &hash, const CastlingRights &castling, const Square &enpassant, const uint8_t &half_moves,
      |                   ~~~~~~~~~~~^~~~
chess.hpp:1988:17: note: shadowed declaration is here
 1988 |             U64 hash;
      |                 ^~~~
chess.hpp: In lambda function:
chess.hpp:5433:64: warning: declaration of ‘std::string_view& san’ shadows a parameter [-Wshadow]
 5433 |             constexpr auto parse_castle = [](std::string_view &san, SanMoveInformation &info, char castling_char)
      |                                              ~~~~~~~~~~~~~~~~~~^~~
chess.hpp:5422:79: note: shadowed declaration is here
 5422 |         [[nodiscard]] static SanMoveInformation parseSanInfo(std::string_view san) noexcept(false)
      |                                                              ~~~~~~~~~~~~~~~~~^~~
/usr/bin/ld: /tmp/ccBSNRAu.o: warning: relocation against `_ZSt4cout' in read-only section `.text'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<main::{lambda()#1}> > >::~_State_impl()':
schoenemann.cpp:(.text+0x43): undefined reference to `std::thread::_State::~_State()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `__tcf_0':
schoenemann.cpp:(.text+0x89): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) [clone .isra.0]':
schoenemann.cpp:(.text+0x160): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: schoenemann.cpp:(.text+0x184): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: schoenemann.cpp:(.text+0x1ac): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>(char*, char*, std::forward_iterator_tag) [clone .isra.0]':
schoenemann.cpp:(.text+0x21e): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text+0x251): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text+0x261): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: schoenemann.cpp:(.text+0x26d): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) [clone .isra.0]':
schoenemann.cpp:(.text+0x2ee): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text+0x321): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text+0x331): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: schoenemann.cpp:(.text+0x33d): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void chess::Board::makeMove<false>(chess::Move) [clone .isra.0]':
schoenemann.cpp:(.text+0x245a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text+0x27dc): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text+0x29a6): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) [clone .isra.0]':
schoenemann.cpp:(.text+0x2cfe): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<main::{lambda()#1}> > >::~_State_impl()':
schoenemann.cpp:(.text+0x1f): undefined reference to `std::thread::_State::~_State()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<main::{lambda()#1}> > >::~_State_impl()':
schoenemann.cpp:(.text+0x51): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) [clone .isra.0]':
schoenemann.cpp:(.text+0x16f): undefined reference to `std::ostream::flush()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()':
schoenemann.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED5Ev]+0x1b): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (Search::*(Search*, chess::Board, bool))(chess::Board&, bool)> > > >::~_State_impl()':
schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED2Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x3c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED2Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x51): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED2Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x5a): undefined reference to `std::thread::_State::~_State()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (Search::*(Search*, chess::Board, bool))(chess::Board&, bool)> > > >::~_State_impl()':
schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED0Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x3c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED0Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x51): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED0Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x59): undefined reference to `std::thread::_State::~_State()'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED0Ev[_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEED5Ev]+0x67): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
schoenemann.cpp:(.text.startup+0x5d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x83): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `main':
schoenemann.cpp:(.text.startup+0x1d4): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3e7): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x9eb): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xadb): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xe6a): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xe9f): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xefd): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xf32): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xf8d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0xfc2): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x112f): undefined reference to `std::ios_base::ios_base()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1136): undefined reference to `VTT for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1143): undefined reference to `VTT for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1153): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1191): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1198): undefined reference to `vtable for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x119f): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x120d): undefined reference to `std::locale::locale()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1214): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x127b): undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::_M_sync(char*, unsigned long, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1286): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x12c6): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x13d8): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x13dd): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x140c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x14d3): undefined reference to `std::cin'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x150b): undefined reference to `std::cin'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1513): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x15ef): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1620): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1651): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1682): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x16e4): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1783): undefined reference to `vtable for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x178a): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x17c3): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x17ca): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x17dd): undefined reference to `std::locale::~locale()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x17ef): undefined reference to `VTT for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x17f9): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1818): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x187d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x189d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x18e8): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x18fc): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1903): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x192c): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1934): undefined reference to `std::ostream::flush()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1941): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1a0e): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1aab): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1b70): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1c12): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1c82): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: /tmp/ccMu4ZMH.o:schoenemann.cpp:(.text.startup+0x1d1b): more undefined references to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' follow
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `main':
schoenemann.cpp:(.text.startup+0x1e14): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1e28): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1e53): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1e82): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1eb0): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x1ebf): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x27f6): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2819): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x282d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x28d2): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2984): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2ac2): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2ad1): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2c56): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2dca): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2e31): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2ec0): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x2f69): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x32a9): undefined reference to `std::thread::detach()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3409): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3413): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3498): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x34e8): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x34f2): undefined reference to `std::thread::join()'
/usr/bin/ld: /tmp/ccMu4ZMH.o:schoenemann.cpp:(.text.startup+0x34fc): more undefined references to `std::thread::join()' follow
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `main':
schoenemann.cpp:(.text.startup+0x35ce): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x35e2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3615): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3631): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3672): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3689): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x36ac): undefined reference to `std::terminate()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x36d9): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x36e6): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x371c): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x379c): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x37c7): undefined reference to `std::thread::join()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x381a): undefined reference to `std::__throw_bad_array_new_length()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3841): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x384d): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3859): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x385e): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3863): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x38d4): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x38e0): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x38ec): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `_GLOBAL__sub_I_searcher':
schoenemann.cpp:(.text.startup+0x3a70): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3a77): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3eae): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3ec2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3ed6): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3ee3): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3efa): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3f05): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3f19): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3f2a): undefined reference to `std::cout'
/usr/bin/ld: schoenemann.cpp:(.text.startup+0x3f3e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `chess::Board::~Board()':
schoenemann.cpp:(.text._ZN5chess5BoardD2Ev[_ZN5chess5BoardD5Ev]+0x31): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5BoardD2Ev[_ZN5chess5BoardD5Ev]+0x47): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `chess::attacks::initAttacks()':
schoenemann.cpp:(.text._ZN5chess7attacks11initAttacksEv[_ZN5chess7attacks11initAttacksEv]+0x303): undefined reference to `std::__throw_bad_function_call()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess7attacks11initAttacksEv[_ZN5chess7attacks11initAttacksEv]+0x308): undefined reference to `std::__throw_bad_function_call()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `chess::uci::uciToMove(chess::Board const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
schoenemann.cpp:(.text._ZN5chess3uci9uciToMoveERKNS_5BoardERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5chess3uci9uciToMoveERKNS_5BoardERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x9c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9uciToMoveERKNS_5BoardERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5chess3uci9uciToMoveERKNS_5BoardERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x108): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9uciToMoveERKNS_5BoardERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN5chess3uci9uciToMoveERKNS_5BoardERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x3ca): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `int __gnu_cxx::__stoa<long, int, char, int>(long (*)(char const*, char**, int), char const*, char const*, unsigned long*, int)':
schoenemann.cpp:(.text._ZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_[_ZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_]+0xab): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_[_ZN9__gnu_cxx6__stoaIlicJiEEET0_PFT_PKT1_PPS3_DpT2_EPKcS5_PmS9_]+0xb5): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const':
schoenemann.cpp:(.text._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm[_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm]+0x7e): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm[_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm]+0xa7): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm[_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm]+0xb1): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: schoenemann.cpp:(.text._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm[_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm]+0xc9): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm[_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm]+0xd5): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()':
schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x7): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x28): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x2f): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED2Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x3c): undefined reference to `std::locale::~locale()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::~basic_stringbuf()':
schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x7): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x28): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x2f): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x3c): undefined reference to `std::locale::~locale()'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED0Ev[_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEED5Ev]+0x4a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::vector<std::thread, std::allocator<std::thread> >::~vector()':
schoenemann.cpp:(.text._ZNSt6vectorISt6threadSaIS0_EED2Ev[_ZNSt6vectorISt6threadSaIS0_EED5Ev]+0x115): undefined reference to `std::terminate()'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorISt6threadSaIS0_EED2Ev[_ZNSt6vectorISt6threadSaIS0_EED5Ev]+0xf6): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::~vector()':
schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED5Ev]+0x3a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED5Ev]+0x5c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::thread::thread<std::_Bind<void (Search::*(Search*, chess::Board, bool))(chess::Board&, bool)>, , void>(std::_Bind<void (Search::*(Search*, chess::Board, bool))(chess::Board&, bool)>&&)':
schoenemann.cpp:(.text._ZNSt6threadC2ISt5_BindIFM6SearchFvRN5chess5BoardEbEPS2_S4_bEEJEvEEOT_DpOT0_[_ZNSt6threadC5ISt5_BindIFM6SearchFvRN5chess5BoardEbEPS2_S4_bEEJEvEEOT_DpOT0_]+0x2d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6threadC2ISt5_BindIFM6SearchFvRN5chess5BoardEbEPS2_S4_bEEJEvEEOT_DpOT0_[_ZNSt6threadC5ISt5_BindIFM6SearchFvRN5chess5BoardEbEPS2_S4_bEEJEvEEOT_DpOT0_]+0x1b8): undefined reference to `std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)())'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void std::vector<std::thread, std::allocator<std::thread> >::_M_realloc_insert<std::thread>(__gnu_cxx::__normal_iterator<std::thread*, std::vector<std::thread, std::allocator<std::thread> > >, std::thread&&)':
schoenemann.cpp:(.text._ZNSt6vectorISt6threadSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_[_ZNSt6vectorISt6threadSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_]+0x1c1): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorISt6threadSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_[_ZNSt6vectorISt6threadSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_]+0x207): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorISt6threadSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_[_ZNSt6vectorISt6threadSaIS0_EE17_M_realloc_insertIJS0_EEEvN9__gnu_cxx17__normal_iteratorIPS0_S2_EEDpOT_]+0x268): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x188): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x1f9): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x235): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x244): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x256): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x25b): undefined reference to `__cxa_rethrow'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x275): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_[_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_]+0x286): undefined reference to `__cxa_end_catch'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)':
schoenemann.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm]+0x92): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm]+0x132): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm]+0x151): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: schoenemann.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm]+0x1ba): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void chess::Board::setFenInternal<false>(std::basic_string_view<char, std::char_traits<char> >)':
schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x57a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x66e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0xccb): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1025): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1037): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x14cd): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x14d9): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1589): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1595): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15da): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15e7): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15ec): undefined reference to `__cxa_end_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1622): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x162d): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1632): undefined reference to `__cxa_end_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1641): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1653): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x165a): undefined reference to `std::runtime_error::~runtime_error()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1661): undefined reference to `typeinfo for std::runtime_error'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1669): undefined reference to `__cxa_throw'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb0EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1698): undefined reference to `__cxa_free_exception'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `void chess::Board::setFenInternal<true>(std::basic_string_view<char, std::char_traits<char> >)':
schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x580): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x666): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x7e0): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0xfd3): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0xfe5): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0xfec): undefined reference to `std::runtime_error::~runtime_error()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0xff3): undefined reference to `typeinfo for std::runtime_error'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0xffb): undefined reference to `__cxa_throw'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x14ab): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x14d7): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x14e3): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x14f4): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15ba): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15c5): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15ca): undefined reference to `__cxa_end_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x15ff): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x160a): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x160f): undefined reference to `__cxa_end_catch'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1630): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1642): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE[_ZN5chess5Board14setFenInternalILb1EEEvSt17basic_string_viewIcSt11char_traitsIcEE]+0x1661): undefined reference to `__cxa_free_exception'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `chess::operator<<(std::ostream&, chess::Board const&)':
schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x8c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0xde): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0xfd): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x11b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x148): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x15c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x170): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x180): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x194): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x2c1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x2d1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x2e9): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x2fd): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x312): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x322): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x336): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x354): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x364): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x378): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x387): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x397): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x3ab): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x3ba): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x3ca): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x3f9): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x401): undefined reference to `std::ostream::flush()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x6bc): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x8af): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x8ed): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chesslsERSoRKNS_5BoardE[_ZN5chesslsERSoRKNS_5BoardE]+0x910): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `chess::uci::moveToUci[abi:cxx11](chess::Move const&, bool)':
schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x48): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x98): undefined reference to `std::ios_base::ios_base()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x9f): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0xb0): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0xb7): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0xcb): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x107): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x10e): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x115): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x123): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x13e): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x145): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x152): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x15d): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x1b8): undefined reference to `std::locale::locale()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x1c7): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x203): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x24b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x263): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x2a6): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x2bf): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x340): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x347): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x384): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x38b): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x39a): undefined reference to `std::locale::~locale()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3a1): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3a8): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3af): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3b6): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3bd): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3c4): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x3cb): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x409): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x4a9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x4c5): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x53f): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x55c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x5dc): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x5f2): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x621): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x62b): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x64e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x68b): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x692): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x699): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x6a0): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x6be): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccMu4ZMH.o:schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x6c5): more undefined references to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >' follow
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `chess::uci::moveToUci[abi:cxx11](chess::Move const&, bool)':
schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x6e4): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text._ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb[_ZN5chess3uci9moveToUciB5cxx11ERKNS_4MoveEb]+0x6f7): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `main.cold':
schoenemann.cpp:(.text.unlikely+0x2e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x36): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x3b): undefined reference to `__cxa_end_catch'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x63): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x8b): undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_istringstream()'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0xab): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0xcb): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x11a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x122): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x127): undefined reference to `__cxa_end_catch'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x13c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x15a): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x16c): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x173): undefined reference to `std::runtime_error::~runtime_error()'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x17a): undefined reference to `typeinfo for std::runtime_error'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x182): undefined reference to `__cxa_throw'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x194): undefined reference to `__cxa_free_exception'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x1a3): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x1b5): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x1bc): undefined reference to `std::runtime_error::~runtime_error()'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x1c3): undefined reference to `typeinfo for std::runtime_error'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x1cb): undefined reference to `__cxa_throw'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x1ea): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x238): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x253): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x2da): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x317): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o:schoenemann.cpp:(.text.unlikely+0x353): more undefined references to `operator delete(void*, unsigned long)' follow
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `main.cold':
schoenemann.cpp:(.text.unlikely+0x361): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x36d): undefined reference to `std::locale::~locale()'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x385): undefined reference to `VTT for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x3ac): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x3bb): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: schoenemann.cpp:(.text.unlikely+0x3eb): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o: in function `_GLOBAL__sub_I_searcher.cold':
schoenemann.cpp:(.text.unlikely+0x469): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro._ZTIFN5chess8BitboardENS_6SquareES0_E[_ZTIFN5chess8BitboardENS_6SquareES0_E]+0x0): undefined reference to `vtable for __cxxabiv1::__function_type_info'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro._ZTIN5chess5BoardE[_ZTIN5chess5BoardE]+0x0): undefined reference to `vtable for __cxxabiv1::__class_type_info'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro+0x10): undefined reference to `typeinfo for std::thread::_State'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro+0x18): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro._ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEEE[_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEEE]+0x0): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro._ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEEE[_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJSt5_BindIFM6SearchFvRN5chess5BoardEbEPS4_S6_bEEEEEEEE]+0x10): undefined reference to `typeinfo for std::thread::_State'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.ro._ZTIPFN5chess8BitboardENS_6SquareES0_E[_ZTIPFN5chess8BitboardENS_6SquareES0_E]+0x0): undefined reference to `vtable for __cxxabiv1::__pointer_type_info'
/usr/bin/ld: /tmp/ccMu4ZMH.o:(.data.rel.local.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) [clone .isra.0]':
search.cpp:(.text+0x5e): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: search.cpp:(.text+0x6a): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `__tcf_0':
search.cpp:(.text+0x129): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
search.cpp:(.text+0x1c5): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x1f0): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `void chess::Board::makeMove<false>(chess::Move) [clone .isra.0]':
search.cpp:(.text+0x3f8a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x46fa): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x48ea): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::initLMR()':
search.cpp:(.text+0x49ea): undefined reference to `log'
/usr/bin/ld: search.cpp:(.text+0x4a02): undefined reference to `log'
/usr/bin/ld: search.cpp:(.text+0x4a56): undefined reference to `log'
/usr/bin/ld: search.cpp:(.text+0x4a6a): undefined reference to `log'
/usr/bin/ld: search.cpp:(.text+0x4ab5): undefined reference to `log'
/usr/bin/ld: /tmp/ccsc7kVB.o:search.cpp:(.text+0x4ac9): more undefined references to `log' follow
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::getPVLine[abi:cxx11]()':
search.cpp:(.text+0x4f2e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x4f46): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x50e0): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::qs(int, int, chess::Board&, int)':
search.cpp:(.text+0x6063): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::pvs(int, int, int, int, chess::Board&, bool) [clone .part.0]':
search.cpp:(.text+0x6818): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: search.cpp:(.text+0x7fba): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x80ce): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x8107): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::aspiration(int, int, chess::Board&)':
search.cpp:(.text+0x81bc): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: search.cpp:(.text+0x8236): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::iterativeDeepening(chess::Board&, bool)':
search.cpp:(.text+0x82ad): undefined reference to `std::cout'
/usr/bin/ld: search.cpp:(.text+0x82c6): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: search.cpp:(.text+0x8316): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: search.cpp:(.text+0x83aa): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: search.cpp:(.text+0x83e8): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x83f2): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: search.cpp:(.text+0x8409): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x8414): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: search.cpp:(.text+0x842b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x8436): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: search.cpp:(.text+0x844d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x8480): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: search.cpp:(.text+0x8497): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x84b6): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x84e5): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: search.cpp:(.text+0x84ed): undefined reference to `std::ostream::flush()'
/usr/bin/ld: search.cpp:(.text+0x850e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x8524): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: search.cpp:(.text+0x8585): undefined reference to `std::cout'
/usr/bin/ld: search.cpp:(.text+0x85a4): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x85c6): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x85f5): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: search.cpp:(.text+0x85fd): undefined reference to `std::ostream::flush()'
/usr/bin/ld: search.cpp:(.text+0x861a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text+0x8654): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: search.cpp:(.text+0x8689): undefined reference to `std::cout'
/usr/bin/ld: search.cpp:(.text+0x869d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x86c0): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: search.cpp:(.text+0x86eb): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: search.cpp:(.text+0x86f3): undefined reference to `std::ostream::flush()'
/usr/bin/ld: search.cpp:(.text+0x8700): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: search.cpp:(.text+0x8728): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: search.cpp:(.text+0x872d): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: search.cpp:(.text+0x8737): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) [clone .isra.0]':
search.cpp:(.text+0x3d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::getPVLine[abi:cxx11]() [clone .cold]':
search.cpp:(.text.unlikely+0x17): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text.unlikely+0x31): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text.unlikely+0x49): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `Search::iterativeDeepening(chess::Board&, bool) [clone .cold]':
search.cpp:(.text.unlikely+0x76): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: search.cpp:(.text.unlikely+0x9e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccsc7kVB.o:search.cpp:(.text.unlikely+0xc6): more undefined references to `operator delete(void*, unsigned long)' follow
/usr/bin/ld: /tmp/ccsc7kVB.o: in function `_GLOBAL__sub_I_start':
search.cpp:(.text.startup+0x2f): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: search.cpp:(.text.startup+0x36): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: search.cpp:(.text.startup+0x1fc): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: search.cpp:(.text.startup+0x287): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccsc7kVB.o:(.data.rel.ro+0x0): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccu2AKgp.o: in function `__tcf_0':
timeman.cpp:(.text+0x29): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccu2AKgp.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
timeman.cpp:(.text.startup+0x5d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: timeman.cpp:(.text.startup+0x83): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccu2AKgp.o: in function `_GLOBAL__sub_I__Z14getTimeForMovev':
timeman.cpp:(.text.startup+0xbe): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: timeman.cpp:(.text.startup+0xc5): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: timeman.cpp:(.text.startup+0x2b9): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: timeman.cpp:(.text.startup+0x303): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: timeman.cpp:(.text.startup+0x308): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: timeman.cpp:(.text.startup+0x322): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccu2AKgp.o: in function `_GLOBAL__sub_I__Z14getTimeForMovev.cold':
timeman.cpp:(.text.unlikely+0x9d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `__tcf_0':
helper.cpp:(.text+0x29): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) [clone .isra.0]':
helper.cpp:(.text+0xce): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x101): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x111): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: helper.cpp:(.text+0x11d): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `uciPrint()':
helper.cpp:(.text+0x139): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x152): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x159): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x184): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x18c): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x1a3): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x1d6): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x1de): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x1f5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x228): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x244): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x284): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2c4): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2f3): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long) [clone .isra.0]':
helper.cpp:(.text+0x57e): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `void chess::Board::setFenInternal<false>(std::basic_string_view<char, std::char_traits<char> >) [clone .constprop.0]':
helper.cpp:(.text+0xb0f): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0xbe9): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0xd5f): undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)'
/usr/bin/ld: helper.cpp:(.text+0x176d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x1804): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x1af4): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: helper.cpp:(.text+0x1af9): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: helper.cpp:(.text+0x1bd0): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1bdc): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1be8): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1bf4): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1c00): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1c0c): undefined reference to `std::__throw_invalid_argument(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1c18): undefined reference to `std::__throw_out_of_range(char const*)'
/usr/bin/ld: helper.cpp:(.text+0x1c6b): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `runBenchmark()':
helper.cpp:(.text+0x1dc7): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x1fda): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x2027): undefined reference to `std::chrono::_V2::system_clock::now()'
/usr/bin/ld: helper.cpp:(.text+0x2189): undefined reference to `std::chrono::_V2::system_clock::now()'
/usr/bin/ld: helper.cpp:(.text+0x2197): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x21d8): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x21e2): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: helper.cpp:(.text+0x21f9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2207): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: helper.cpp:(.text+0x221e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2229): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: helper.cpp:(.text+0x2258): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2260): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2281): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x229c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x22c2): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2313): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `testCommand()':
helper.cpp:(.text+0x2453): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x2671): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x26e1): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x26f8): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `transpositionTableTest(chess::Board&)':
helper.cpp:(.text+0x27fd): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x284a): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2863): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2878): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2884): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x289b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x28a7): undefined reference to `std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x28d8): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x28e0): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2903): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2917): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x292b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2937): undefined reference to `std::ostream::operator<<(short)'
/usr/bin/ld: helper.cpp:(.text+0x296a): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2972): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2995): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x29a9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x29bd): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x29c9): undefined reference to `std::ostream::operator<<(short)'
/usr/bin/ld: helper.cpp:(.text+0x29fc): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2a04): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2a29): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2a3d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2a51): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2a5c): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: helper.cpp:(.text+0x2a8f): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2a97): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2ace): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x2af1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2b05): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2b19): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2b6b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2b81): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x2bc2): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2bd8): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x2bf3): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2c2c): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2c34): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2c85): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2cc4): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2d03): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2d1b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2d22): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2d50): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2d58): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2d7b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2d82): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2db0): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2db8): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2ddb): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2de2): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2e10): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2e18): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2e3d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2e44): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2e6e): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x2e76): undefined reference to `std::ostream::flush()'
/usr/bin/ld: helper.cpp:(.text+0x2e8f): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x2e96): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x2eb0): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: helper.cpp:(.text+0x2ec8): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2f08): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2f48): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2f94): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: helper.cpp:(.text+0x2fd4): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: /tmp/ccHH0hTI.o:helper.cpp:(.text+0x3014): more undefined references to `std::ctype<char>::_M_widen_init() const' follow
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `transpositionTableTest(chess::Board&)':
helper.cpp:(.text+0x3119): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x3133): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text+0x3143): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x3157): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: helper.cpp:(.text+0x315e): undefined reference to `std::cout'
/usr/bin/ld: helper.cpp:(.text+0x3187): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: helper.cpp:(.text+0x31b4): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `uciPrint()':
helper.cpp:(.text+0x237): undefined reference to `std::ostream::flush()'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `transpositionTableTest(chess::Board&)':
helper.cpp:(.text+0x31ac): undefined reference to `std::ostream::flush()'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
helper.cpp:(.text.startup+0x5d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text.startup+0x83): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `_GLOBAL__sub_I__Z22transpositionTableTestRN5chess5BoardE':
helper.cpp:(.text.startup+0xbe): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: helper.cpp:(.text.startup+0xc5): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: helper.cpp:(.text.startup+0x2b9): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: helper.cpp:(.text.startup+0x303): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: helper.cpp:(.text.startup+0x308): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: helper.cpp:(.text.startup+0x322): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `void chess::Board::setFenInternal<false>(std::basic_string_view<char, std::char_traits<char> >) [clone .constprop.0] [clone .cold]':
helper.cpp:(.text.unlikely+0x30): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x38): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x3d): undefined reference to `__cxa_end_catch'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x70): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x78): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x7d): undefined reference to `__cxa_end_catch'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x96): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xa8): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xaf): undefined reference to `std::runtime_error::~runtime_error()'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xb6): undefined reference to `typeinfo for std::runtime_error'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xbe): undefined reference to `__cxa_throw'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xd0): undefined reference to `__cxa_free_exception'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xe2): undefined reference to `__cxa_allocate_exception'
/usr/bin/ld: helper.cpp:(.text.unlikely+0xf4): undefined reference to `std::runtime_error::runtime_error(char const*)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `runBenchmark() [clone .cold]':
helper.cpp:(.text.unlikely+0x130): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x14b): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `testCommand() [clone .cold]':
helper.cpp:(.text.unlikely+0x18c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: helper.cpp:(.text.unlikely+0x1a3): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccHH0hTI.o: in function `transpositionTableTest(chess::Board&) [clone .cold]':
helper.cpp:(.text.unlikely+0x1c9): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccHH0hTI.o:helper.cpp:(.text.unlikely+0x277): more undefined references to `operator delete(void*, unsigned long)' follow
/usr/bin/ld: /tmp/ccpME2EH.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
moveorder.cpp:(.text.startup+0x5d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: moveorder.cpp:(.text.startup+0x83): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccpME2EH.o: in function `_GLOBAL__sub_I__Z10orderMovesRN5chess8MovelistEP4HashRNS_5BoardEPiNS_4MoveEi':
moveorder.cpp:(.text.startup+0xbe): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: moveorder.cpp:(.text.startup+0xc5): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: moveorder.cpp:(.text.startup+0x2b9): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: moveorder.cpp:(.text.startup+0x303): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: moveorder.cpp:(.text.startup+0x308): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: moveorder.cpp:(.text.startup+0x322): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccpME2EH.o: in function `_GLOBAL__sub_I__Z10orderMovesRN5chess8MovelistEP4HashRNS_5BoardEPiNS_4MoveEi.cold':
moveorder.cpp:(.text.unlikely+0x9d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccbJu7WD.o: in function `__tcf_0':
see.cpp:(.text+0x29): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccbJu7WD.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
see.cpp:(.text.startup+0x5d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: see.cpp:(.text.startup+0x83): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccbJu7WD.o: in function `_GLOBAL__sub_I__Z13getPieceValueRKN5chess5BoardERNS_4MoveE':
see.cpp:(.text.startup+0xbe): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: see.cpp:(.text.startup+0xc5): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: see.cpp:(.text.startup+0x2b9): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: see.cpp:(.text.startup+0x303): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: see.cpp:(.text.startup+0x308): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: see.cpp:(.text.startup+0x322): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccbJu7WD.o: in function `_GLOBAL__sub_I__Z13getPieceValueRKN5chess5BoardERNS_4MoveE.cold':
see.cpp:(.text.unlikely+0x9d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `addEngineParameter(EngineParameter*)':
tune.cpp:(.text+0x514): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0x53c): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0x566): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `engineParameterToSpsaInput[abi:cxx11]()':
tune.cpp:(.text+0x5d4): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0x5ea): undefined reference to `std::ios_base::ios_base()'
/usr/bin/ld: tune.cpp:(.text+0x5f1): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x5fe): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x605): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x615): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0x653): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: tune.cpp:(.text+0x65a): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x661): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x685): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: tune.cpp:(.text+0x68c): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x693): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x69a): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x707): undefined reference to `std::locale::locale()'
/usr/bin/ld: tune.cpp:(.text+0x715): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x751): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: tune.cpp:(.text+0x78e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x7a1): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x7b5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x7c5): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x7d6): undefined reference to `std::ostream& std::ostream::_M_insert<double>(double)'
/usr/bin/ld: tune.cpp:(.text+0x7e9): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x7fa): undefined reference to `std::ostream& std::ostream::_M_insert<double>(double)'
/usr/bin/ld: tune.cpp:(.text+0x80d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x81e): undefined reference to `std::ostream& std::ostream::_M_insert<double>(double)'
/usr/bin/ld: tune.cpp:(.text+0x831): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x85b): undefined reference to `std::ostream& std::ostream::_M_insert<double>(double)'
/usr/bin/ld: tune.cpp:(.text+0x86e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x87e): undefined reference to `std::ostream& std::ostream::_M_insert<double>(double)'
/usr/bin/ld: tune.cpp:(.text+0x892): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x938): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x93f): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x97f): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0x98d): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0x999): undefined reference to `std::locale::~locale()'
/usr/bin/ld: tune.cpp:(.text+0x9a0): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x9a7): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x9ae): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x9b5): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x9bc): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0x9c3): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0x9ca): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xa1a): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: tune.cpp:(.text+0xa96): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0xacf): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0xb19): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: tune.cpp:(.text+0xb9a): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `engineParameterToUCI[abi:cxx11]()':
tune.cpp:(.text+0xc36): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0xc4a): undefined reference to `std::ios_base::ios_base()'
/usr/bin/ld: tune.cpp:(.text+0xc51): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xc62): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xc69): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xc7d): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0xcb9): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: tune.cpp:(.text+0xcc0): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xcc7): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xce4): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: tune.cpp:(.text+0xceb): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xcf8): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xd07): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xd5b): undefined reference to `std::locale::locale()'
/usr/bin/ld: tune.cpp:(.text+0xd6a): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xda6): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: tune.cpp:(.text+0xdef): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xdfe): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xe15): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xe21): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: tune.cpp:(.text+0xe35): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xe4d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xe5c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xe73): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xe7e): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: tune.cpp:(.text+0xe92): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0xf31): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xf38): undefined reference to `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xf75): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0xf81): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0xf88): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text+0xf92): undefined reference to `std::locale::~locale()'
/usr/bin/ld: tune.cpp:(.text+0xf99): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xfa0): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xfa7): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xfae): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text+0xfb5): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccK9s3OP.o:tune.cpp:(.text+0xfbc): more undefined references to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >' follow
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `engineParameterToUCI[abi:cxx11]()':
tune.cpp:(.text+0xffc): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: tune.cpp:(.text+0x103f): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: tune.cpp:(.text+0x1092): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0x10c7): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text+0x1105): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: tune.cpp:(.text+0x1186): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `std::vector<EngineParameter*, std::allocator<EngineParameter*> >::~vector()':
tune.cpp:(.text._ZNSt6vectorIP15EngineParameterSaIS1_EED2Ev[_ZNSt6vectorIP15EngineParameterSaIS1_EED5Ev]+0x17): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
tune.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_]+0x9d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: tune.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_]+0xb5): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_]+0xe6): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: tune.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_]+0x117): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `engineParameterToSpsaInput[abi:cxx11]() [clone .cold]':
tune.cpp:(.text.unlikely+0x1e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x2d): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x3c): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x43): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x72): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x7e): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x98): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x9f): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0xa6): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0xad): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0xb4): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccK9s3OP.o:tune.cpp:(.text.unlikely+0xbb): more undefined references to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >' follow
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `engineParameterToUCI[abi:cxx11]() [clone .cold]':
tune.cpp:(.text.unlikely+0x125): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x132): undefined reference to `std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_stringstream()'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x141): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x148): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x16f): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x17c): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x196): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x19d): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x1a4): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x1ab): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: tune.cpp:(.text.unlikely+0x1b2): undefined reference to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccK9s3OP.o:tune.cpp:(.text.unlikely+0x1b9): more undefined references to `VTT for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >' follow
/usr/bin/ld: /tmp/ccK9s3OP.o: in function `_GLOBAL__sub_I_engineParameter':
tune.cpp:(.text.startup+0x1d): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: tune.cpp:(.text.startup+0x24): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: /tmp/ccK9s3OP.o:(.data.rel.ro+0x0): undefined reference to `vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `__tcf_0':
datagen.cpp:(.text+0x29): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `void chess::Board::makeMove<false>(chess::Move) [clone .isra.0]':
datagen.cpp:(.text+0x215a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x24dc): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x26a6): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `generate(chess::Board&)':
datagen.cpp:(.text+0x2abb): undefined reference to `std::random_device::_M_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/bin/ld: datagen.cpp:(.text+0x2ad9): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x2ae3): undefined reference to `std::random_device::_M_getval()'
/usr/bin/ld: datagen.cpp:(.text+0x2c67): undefined reference to `std::ios_base::ios_base()'
/usr/bin/ld: datagen.cpp:(.text+0x2c6e): undefined reference to `VTT for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x2c8c): undefined reference to `VTT for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x2c93): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x2cc3): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: datagen.cpp:(.text+0x2cca): undefined reference to `vtable for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x2cee): undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf()'
/usr/bin/ld: datagen.cpp:(.text+0x2cf9): undefined reference to `std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)'
/usr/bin/ld: datagen.cpp:(.text+0x2d0d): undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::open(char const*, std::_Ios_Openmode)'
/usr/bin/ld: datagen.cpp:(.text+0x2d2c): undefined reference to `std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)'
/usr/bin/ld: datagen.cpp:(.text+0x2d41): undefined reference to `std::__basic_file<char>::is_open() const'
/usr/bin/ld: datagen.cpp:(.text+0x2d5f): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: datagen.cpp:(.text+0x3582): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: datagen.cpp:(.text+0x35a0): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x35be): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x4032): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x4052): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x4070): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o:datagen.cpp:(.text+0x4090): more undefined references to `operator delete(void*, unsigned long)' follow
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `generate(chess::Board&)':
datagen.cpp:(.text+0x4388): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x454c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x4569): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x482d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x484a): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x49e7): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text+0x4bc1): undefined reference to `std::chrono::_V2::steady_clock::now()'
/usr/bin/ld: datagen.cpp:(.text+0x4bdc): undefined reference to `std::cout'
/usr/bin/ld: datagen.cpp:(.text+0x4c1a): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: datagen.cpp:(.text+0x4c25): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: datagen.cpp:(.text+0x4c3c): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: datagen.cpp:(.text+0x4c50): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: datagen.cpp:(.text+0x4c62): undefined reference to `std::ostream::operator<<(int)'
/usr/bin/ld: datagen.cpp:(.text+0x4c97): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: datagen.cpp:(.text+0x4c9f): undefined reference to `std::ostream::flush()'
/usr/bin/ld: datagen.cpp:(.text+0x4d62): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: datagen.cpp:(.text+0x4dd0): undefined reference to `std::cout'
/usr/bin/ld: datagen.cpp:(.text+0x4de4): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)'
/usr/bin/ld: datagen.cpp:(.text+0x4deb): undefined reference to `std::cout'
/usr/bin/ld: datagen.cpp:(.text+0x4e18): undefined reference to `std::ostream::put(char)'
/usr/bin/ld: datagen.cpp:(.text+0x4e27): undefined reference to `vtable for std::basic_filebuf<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x4e3e): undefined reference to `std::ostream::flush()'
/usr/bin/ld: datagen.cpp:(.text+0x4e4e): undefined reference to `vtable for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x4e67): undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::close()'
/usr/bin/ld: datagen.cpp:(.text+0x4e76): undefined reference to `vtable for std::basic_streambuf<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x4e7d): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x4e82): undefined reference to `std::__basic_file<char>::~__basic_file()'
/usr/bin/ld: datagen.cpp:(.text+0x4e97): undefined reference to `std::locale::~locale()'
/usr/bin/ld: datagen.cpp:(.text+0x4e9e): undefined reference to `VTT for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x4ea5): undefined reference to `VTT for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text+0x4ec9): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: datagen.cpp:(.text+0x4ed3): undefined reference to `std::random_device::_M_fini()'
/usr/bin/ld: datagen.cpp:(.text+0x4f04): undefined reference to `std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)'
/usr/bin/ld: datagen.cpp:(.text+0x4f21): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: datagen.cpp:(.text+0x4f29): undefined reference to `std::ctype<char>::_M_widen_init() const'
/usr/bin/ld: datagen.cpp:(.text+0x5058): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text+0x505d): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: datagen.cpp:(.text+0x5069): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text+0x5094): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text+0x5099): undefined reference to `std::__throw_bad_cast()'
/usr/bin/ld: datagen.cpp:(.text+0x50a5): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text+0x50be): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> >(char const*, std::allocator<char> const&) [clone .constprop.0]':
datagen.cpp:(.text.startup+0x5d): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.startup+0x83): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `_GLOBAL__sub_I__Z8generateRN5chess5BoardE':
datagen.cpp:(.text.startup+0xbe): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: datagen.cpp:(.text.startup+0xc5): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: datagen.cpp:(.text.startup+0x2b9): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.startup+0x303): undefined reference to `std::__throw_logic_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text.startup+0x308): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: datagen.cpp:(.text.startup+0x322): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `chess::Board::getFen[abi:cxx11](bool) const':
datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x4f): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x89): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x286): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x31e): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x4ea): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x817): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o:datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x8f2): more undefined references to `operator delete(void*, unsigned long)' follow
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `chess::Board::getFen[abi:cxx11](bool) const':
datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0xa39): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0xb7a): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0xf13): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x118c): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1541): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x157d): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x15dc): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1620): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x167f): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x16c2): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1751): undefined reference to `operator new(unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1794): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x18ac): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x18bd): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x18f1): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1901): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x192b): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1937): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1951): undefined reference to `std::__throw_bad_alloc()'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x195d): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1969): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x199e): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x19c4): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x19f1): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1a0f): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1a32): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text._ZNK5chess5Board6getFenB5cxx11Eb[_ZNK5chess5Board6getFenB5cxx11Eb]+0x1a72): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)':
datagen.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm]+0x27e): undefined reference to `std::__throw_length_error(char const*)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `generate(chess::Board&) [clone .cold]':
datagen.cpp:(.text.unlikely+0x24): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x42): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x62): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x82): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0xa2): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o:datagen.cpp:(.text.unlikely+0xc5): more undefined references to `operator delete(void*, unsigned long)' follow
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `generate(chess::Board&) [clone .cold]':
datagen.cpp:(.text.unlikely+0xd7): undefined reference to `std::basic_ofstream<char, std::char_traits<char> >::~basic_ofstream()'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0xe1): undefined reference to `__cxa_begin_catch'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0xe6): undefined reference to `__cxa_end_catch'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0xf6): undefined reference to `std::basic_filebuf<char, std::char_traits<char> >::~basic_filebuf()'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x100): undefined reference to `VTT for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x107): undefined reference to `VTT for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x122): undefined reference to `vtable for std::basic_ios<char, std::char_traits<char> >'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x132): undefined reference to `std::ios_base::~ios_base()'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x13c): undefined reference to `std::random_device::_M_fini()'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x165): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x187): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x1b7): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: datagen.cpp:(.text.unlikely+0x1ea): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o: in function `_GLOBAL__sub_I__Z8generateRN5chess5BoardE.cold':
datagen.cpp:(.text.unlikely+0x298): undefined reference to `operator delete(void*, unsigned long)'
/usr/bin/ld: /tmp/ccBSNRAu.o:(.data.rel.ro+0x0): undefined reference to `vtable for std::basic_ofstream<char, std::char_traits<char> >'
/usr/bin/ld: /tmp/ccE84NP3.o: in function `_GLOBAL__sub_I__ZN2tt15storeEvaluationEmhhiN5chess4MoveEi':
tt.cpp:(.text.startup+0x24): undefined reference to `std::ios_base::Init::Init()'
/usr/bin/ld: tt.cpp:(.text.startup+0x2b): undefined reference to `std::ios_base::Init::~Init()'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make: *** [Makefile:15: all] Error 1