Chapter 4 Local compilation
You will need a C++ compiler that supports at least C++17. We used g++13 for all local compilations.
First, clone GECCO-2024-phylogeny-informed-subsampling repository that contains the code needed to run our experiment software: https://github.com/amlalejini/GECCO-2024-phylogeny-informed-subsampling.
Once cloned, cd into your local GECCO-2024-phylogeny-informed-subsampling repository directory.
Then, initialize and update all of the git submodules:
git submodule update --init --recursive
Once the submodules are updated, you should be able to compile either the diagnostics or program synthesis experiment code.
To specify which experiment you would like to compile, adjust the PROJECT variable in the Makefile.
PROJECT := prog_synthfor compiling the program synthesis codePROJECT := diagnosticsfor compiling the selection scheme diagnostics code
To compile in debug mode, run make debug from repository directory, and to compile in release mode (all optimizations turned on), run make native.
If you get the following error:
third-party/Empirical/include/emp/matching/../../../third-party/robin-hood-hashing/src/include/robin_hood.h:54:14: fatal error: sys/auxv.h: No such file or directory
54 | # include <sys/auxv.h> // for getauxval
you can fix it by doing the following:
cd third-party/Empirical/third-party/robin-hood-hashing
git checkout master
Once you have an executable, you can generate a configuration file by running:
./prog_synth --gen prog_synth.cfgor./diagnostics --gen diagnostics.cfg