official-stockfish / Stockfish

A free and strong UCI chess engine
https://stockfishchess.org/
GNU General Public License v3.0
11.6k stars 2.28k forks source link

compilation issues with my fork #4312

Closed ab-chesspad closed 1 year ago

ab-chesspad commented 1 year ago

Describe the issue

Hi,
I have two issues with my fork compilation. Unfortunately I do not have hardware/software to investigate these issues, so please help me.

  1. Windows 2022 Mingw-w64 GCC x86_64 x86-64, sleep(). I am using:

    #include <iostream>
    #if defined(_WIN32) || defined(_WIN64)
    #include <Windows.h>
    #else
    #include <unistd.h>

    and

    sleep(1)

    apparently either macros _WIN are incorrect or Windows.h does not have the reference I need.

  2. MacOS 12 Apple Clang complains about unused function in endgame.cpp

    bool verify_material(const Position& pos, Color c, Value npm, int pawnsCnt) {

    I removed wrapping #ifndef around this function and redefined assert macro in types.h:

    #undef assert
    #define assert(e) \
    (check_expect(!(e), 0) ? (void)0 : (void)throw_exception(__func__, __FILE__, __LINE__, #e))

    to make it available in release version.
    For some reason for MacOS 12 Apple Clang it does not work.

Your help will be greatly appreciated.

Expected behavior

build with no errors on all platforms.

Steps to reproduce

run testbed

Anything else?

No response

Operating system

All

Stockfish version

5a7fc174f8c65ccfc102117236674ecc6078a81f

ab-chesspad commented 1 year ago

I figured out (sort of) the issue with "assert" macro, but now the testbed gives a different error, for Compiles / MacOS 12 GCC 11, that I believe is the problem with gcc libraries:

0  0x10f643ffa  __assert_rtn + 139
1  0x10f47728d  mach_o::relocatable::Parser<x86_64>::parse(mach_o::relocatable::ParserOptions const&) + 4989
2  0x10f467f8f  mach_o::relocatable::Parser<x86_64>::parse(unsigned char const*, unsigned long long, char const*, long, ld::File::Ordinal, mach_o::relocatable::ParserOptions const&) + 207
3  0x10f4de9d4  ld::tool::InputFiles::makeFile(Options::FileInfo const&, bool) + 2036
ld: warning: dylib (/usr/local/Cellar/gcc@11/11.3.0/lib/gcc/11/libstdc++.dylib) was built for newer macOS version (12.0) than being linked (10.14)
4  0x10f4e1fa0  ___ZN2ld4tool10InputFilesC2ER7Options_block_invoke + 48
5  0x7ff81c27534a  _dispatch_client_callout2 + 8
6  0x7ff81c2868f5  _dispatch_apply_invoke + 213
7  0x7ff81c275317  _dispatch_client_callout + 8
8  0x7ff81c284c0c  _dispatch_root_queue_drain + 673
9  0x7ff81c28525c  _dispatch_worker_thread2 + 160
10  0x7ff81c428f8a  _pthread_wqthread + 256
A linker snapshot was created at:
    /tmp/stockfish-2022-12-27-203441.ld-snapshot
ld: Assertion failed: (_file->_atomsArrayCount == computedAtomCount && "more atoms allocated than expected"), function parse, file macho_relocatable_file.cpp, line 2061.
collect2: error: ld returned 1 exit status
make[1]: *** [stockfish] Error 1
make: *** [build] Error 2
Error: Process completed with exit code 2.

help is still needed.

ab-chesspad commented 1 year ago

issue with sleep(1) resolved.

There is still an issue with MacOS 12 GCC 11 libraries.

ab-chesspad commented 1 year ago

#include "bitboard.h" comments in your code !

please explain what you mean

vondele commented 1 year ago

issues in the Stockfish repo are not the correct place to discuss problems with your fork, this repo is for the development of the main branch. You can consider to use the #help channel on our discord https://github.com/official-stockfish/Stockfish/wiki#support