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_synth
for compiling the program synthesis codePROJECT := diagnostics
for 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.cfg
or./diagnostics --gen diagnostics.cfg