The underlying issue seems to be that changing configuration.ccl does not necessarily rebuild all files the were generated using information in it.
get a fresh ET checkout (trunk will do)
make sure that you have a file
configs/et/bindings/Configuration/Thorns/cctki_CoordGauge.h. If such a file does not exists then most likely you did not start from a fresh checkout. touch the other .ccl files and src/Slicing.c in CoordGauge and build again. The file should appear. Make sure that
.../configs/et/bindings/include/../Configuration/Thorns/cctki_CoordGauge.h if not, same as above.
REQUIRES line you added
try to build Cactus
the build should fail with:
Checking status of thorn CoordGauge make: *** [make.checked] Error 2 make: *** [/data/rhaas/postdoc/gr/ET/configs/et/lib/libthorn_CoordGauge.a] Error 2 make: *** [et] Error 2
If you make is the buggy version 3.81 then no reason is given. (make SILENT=no or make -d does not help you either)
If you are lucky and have a non buggy version of make (https://savannah.gnu.org/bugs/?15110#comment7) then it might actually tell you that it cannot find
configs/et/bindings/Configuration/Thorns/cctki_CoordGauge.h. To test this touch the file and try to build again. It should work now. Also Slicing.c.d will no longer contain a reference to the offending file.
A workaround is to not unlink
lib/sbin/CreateConfigurationBindings.pl around line 176. This generates an empty file which makes make happy.
To work around the buggy make (to get an error message) one can replace all
-include foo bar baz
-include $(filter-out $(wildcard foo bar baz),foo bar baz)) include $(filter $(wildcard foo bar baz),foo bar baz))
-include for non-existing files and
include for existing ones.
The buggy make is what makes this hard, you don't know why the compilation fails and trying to force recompile of CoordGauge by touching any of its .ccl or source files does not help. I usually ended up doing a realclean. Very annoying if this happens on say Kraken.