OliverBr wrote: ↑Sun Oct 11, 2020 10:23 pmYou will be surprised that I could only find 15 engines so far:
Sources in Git is unrelated to Linux friendliness. If you drop that requirement, you can add my engine to the list; there's a build script for Linux, and macOS has its own one because it lacks support for some optional Posix stuff.
OliverBr wrote: ↑Sun Oct 11, 2020 10:23 pm
Here is a list of engines with "perfect unix conformity". They fulfil the following requirements:
1) Sources in GIT
2) Easy "make" in Linux and MacOSX.
3) Complete reliability over many thousands games.
You will be surprised that I could only find 15 engines so far:
What is wrong with my engines? There sources are in Github and come with a makefile: https://github.com/abulmo/amoeba https://github.com/abulmo/Dumb
Personally I have got about 130 engines working under Linux, and I do not have more because I am not seeking for actively.
hgm wrote: ↑Sun Oct 11, 2020 10:15 pm
When I started compiling C on my PC MSYS2 did not exist yet. I liked Cygwin because it provided a Linux-like environment. (I use commands like grep a lot.) But MSYS2 does that too, doesn't it? On my laptop I now use MinGW, because the anti-virus software removed Cygwin. But then I cannot use the Makefile for building WinBoard, which sort of renders it useless. If I re-install Cygwin gcc 3.4.4 is no longer in the menu...
Otherwise I usually work according to the principle "if it ain't broken, don't try to fix it!". In my experience newer versions are usually worse. Ubuntus became inacceptable after 10.04, so I am still running that for Linux.
Cygwin is still required for some programs (it includes the cygwin1.dll posix-layer, which MSYS2 does not), but MSYS2 is able to replace a lot of what Cygwin does.
I've been using Cygwin since about the day it came out (and "Unix services for Windows NT" before that), but after I switched to MSYS2, I never looked back. I have gcc, g++, and clang installed to compile my own engines (if I want to).
MSYS2 is my default shell on Windows. (I dislike Powershell with a passion...)
(I even use "stable-x86_64-pc-windows-gnu" in my Rust installation in Windows, and use GDB through MSYS2 for debugging; my engine actually is a Linux program built on Windows using Rust's GNU toolchain for Windows. The reason is that this build is almost 10% faster than the one produced by "stable-x86_64-pc-windows-msvc." The difference is that the -gnu toolchain uses the gcc linker, while the -msvc toolchain uses the Microsoft linker. I think it's weird that Linux-linkers building Windows programs make faster Windows programs than Microsoft's own linker.)
OliverBr wrote: ↑Sun Oct 11, 2020 10:23 pm
Here is a list of engines with "perfect unix conformity". They fulfil the following requirements:
1) Sources in GIT
2) Easy "make" in Linux and MacOSX.
3) Complete reliability over many thousands games.
You will be surprised that I could only find 15 engines so far:
What is wrong with my engines? There sources are in Github and come with a makefile:
I had tested Dumb before (on of my favorite engines), but it didn't compile on my computers, because it needs "gdc", which is not standard there. So unfortunately it's not "easy make".
Some engines have problems like: They won't compile under MacOSX or crash/hang sometimes.
If course, I haven't test all engines, so I am happy to test more, if you tell me the GIT Url
Last edited by OliverBr on Mon Oct 12, 2020 6:44 am, edited 2 times in total.
jorose wrote: ↑Mon Oct 12, 2020 6:30 am
Interesting. I don't have an OSX device (Im on Xubuntu), but I imagine that shouldnt be the issue. Would you mind specifying your clang version?
Of course, I am very happy to assist in fixing this. Winter is a very interesting engine:
In this case the easiest solution is to do something I have been considering anyways, which is update to C++14.
Could you replace std=c++11 with std=c++14 on line four of the Makefile? Assuming that works I will update the repository as well as I don't have much of a reason to stick to the older C++ version.
EDIT: After reading the link more properly I realize I might have to do some more work, but I am pretty sure this is the issue. Its interesting that it works on Linux and Windows though. For the Windows compiles I am actually also using C++14, so updating version makes sense anyways.
Last edited by jorose on Mon Oct 12, 2020 6:49 am, edited 1 time in total.