This gives me a whole lot of errors about circular dependencies. Eg. finite_elasticity_routines depends on solver_routines. equations_set_routines depends on elasticity_routines, which depends on finite_elasticity_routines. So by making solver_routines depend on equations_set_routines you've added a circular dependency. Something needs reorganising here.