Hane wrote:
"It's readily apparent that Fuego's code hasn't been updated for about 5 years"
Fuego's code is always updating, and the recent version is "Commit r2029", which is updated several days ago.
On the Sourceforge website, the version from 13-3-2011 is still the latest:
https://sourceforge.net/projects/fuego/files/fuego/1.1/Is there a newer version somewhere? If so, I'll have a look into it.
edit: found it. It's here:
https://sourceforge.net/p/fuego/code/HEAD/tree/I might try this, but I assume the tarball is still the offical version. I could download the code from the repository and see if it works. (It's the same with Pachi: the code in the repository is newer than the official current and stable tarball.)
edit2: I've been looking through the commits
over here. It looks like 2, and recently 1 person are renaming classes, removing support for older compilers, and moving code around to different files. In essence, they are refactoring (very slowly). The interesting commits were 1984, "Removing Boost Filesystem v2", 1989, "Bump up minimum Boost version to 1.50", and 1991, "Fix warnings with CLANG and Boost 1.58."
It looks like these two people have been spending the last 3 years to make Fuego build with more recent versions of compilers and Boost. It might be worth a shot to see if that code works, but to be honest, I view it as alpha, maybe bèta code until the tarball is updated.
Quote:
"this is not the most beautiful build of a program ever created"
You can try to use Mingw to make a more beautiful build of Fuego!
Fuego requires Boost 1.49 or older, because it needs FileSystem v2. I don't know if I can still build such an old Boost version with the most current MinGW. Even under current versions of Cygwin, which pretends to be Linux, Boost requires several hacks in its build scripts to get it to compile and build.
I was actually lucky to get it to build at all, even in Cygwin. The Boost documentation says that version 1.48 is the last one to include Filesystem v2, but version 1.49 is the first one that will compile with GCC versions above 4.6. (Boost 1.48 and lower can't compile the threading library anymore due to changes in the compiler.)
Fortunately, the documentation was wrong and 1.49 actually includes Filesystem v2, or I would have needed to mix Boost 1.48 and 1.49 libraries in one program, something which is not recommended.
With regard to recent versions of MinGW: I've had a lot of problems building Pachi with MinGW (even when following your instructions), while it readily compiled and built on Cygwin. Under MinGW, the build script was missing parts of the toolchain: cc not found, ld not found, and if pointed to the MinGW versions, it would generate loads of errors.
Now that I have a working 64-bit version of Pachi, Fuego and GnuGo, and know how to build them on Cygwin, I might have a look into MinGW again, to see if I can build a Windows-native version of each that doesn't require the Cygwin compatibility layer. It might gain a few percent of speed.