There are several issues with your code:
1. int run_Luhn (const char* digit_num) ;
There is a superfluous semicolon at the end of this line, which is the probably cause of the error messages you get.
2. for (i = strlen(digit_num) - 1; i >= 0; --1)
In the third part, replace "--1" by "--i"
3. digit = digit_num - '0';
You have to de-reference the const char *digit_num to get at a char. You probably want digit_num[ i ].
4. return modulus == 0;
This return is inside the for-loop, but there is no return outside of the for-loop. What should be returned when the for-loop is left?
5. int i, digit, modulus;
Better use size_t instead of int for the variable i, for portability.
I don't know if the code does what you intended after these modifications, but at least it compiles without error and warning with my C compiler.